# 關於爬蟲常見HTTP基礎原理

  • 請求方法

(1)GET和POST請求方法有如下區別:

  1. GET請求中的參數包含在URL裏面,數據可以在URL中看到。而POST請求的URl不會包含這些數據,數據都是通過表單形式傳輸的,會包含在請求體中;

  2. GET請求提交的數據最多隻有1024字節,而POST請求的沒有限制

(2)請求的常見參數:

  1. Cookie:也常用複數形式Cookies,這是網站爲了辨別用戶進行會話跟蹤而存儲在用戶本地的數據,它的主要功能是維持當前訪問會話。例如,我們輸入用戶名和密碼成功登錄某個網站後,服務器會用會話保存登錄狀態信息,後面我們每次刷新或請求該站點的其他頁面時,會發現都是登錄狀態,這就是Cookies的功勞。Cookies裏有信息標識了我們所對應的服務器的會話,每次瀏覽器在請求該站點的頁面時,都會在請求頭中加上Cookies並將其發送給服務器,服務器通過Cookies識別出是我們自己,並且查出當前狀態是登錄狀態,所以返回結果就是登錄之後才能看到的網頁內容;
  2. Referer:此內容用來標識這個請求是從哪個頁面發過來的,服務器可以拿到這一信息並做出相應的處理,如做來源統計、防盜鏈處理等;
  3. User-Agent:簡稱UA,它是一個特殊的字符串頭,可以使服務器識別客戶使用的操作系統及版本、瀏覽器及版本等信息。在做爬蟲時加上此信息,可以僞裝爲瀏覽器;如果不加,很可能會被識別出爲爬蟲
  4. Content-Type:也叫互聯網媒體類型(Internet Media Type)或者MIME類型,在HTTP協議消息頭中,它用來表示具體請求中的媒體類型信息。例如,text/html代表HTML格式,image/gif代表GIF圖片,application/json代表JSON類型,更多對應關係可以查看此對照表:http://tool.oschina.net/commons
  • 響應

(1)響應頭:包含了服務器對請求的應答信息,如Content-Type、Server、Set-Cookie等。簡要說明一些常用頭信息:

  1. Date:標識響應產生的時間
  2. Last-Modified:指定資源的最後修改時間
  3. Content-Encoding:指定響應內容的編碼
  4. Server:包含服務器的信息,如名稱、版本號等
  5. Content-Type:文檔類型,指定返回的數據類型是什麼,如text/html代表返回HTML文檔,application/x-javascript代表返回JavaScript文件,image/gif代表返回圖片
  6. Set-Cookie:設置Cookies。響應頭中的Set-Cookie告訴瀏覽器需要將此內容放在Cookies中,下次請求攜帶Cookies請求
  7. Expires:指定響應的過期時間,可以使代理服務器或瀏覽器將加載的內容更新到緩存中,如果再次訪問時,就可以直接從緩存中加載,降低服務器負載,縮短加載時間

(2)響應頭(內容是最重要的),響應的正文數據都在響應體中,比如:

  1. 請求網頁時,它的響應體就是網頁的HTML代碼
  2. 請求一張圖片時,它的響應體就是圖片的二進制數據

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章