• <th id="bb20k"></th>
    1. <th id="bb20k"></th>
      1. <th id="bb20k"></th>
        <progress id="bb20k"></progress>

        您的位置:新聞資訊 >文章內容
        學網絡爬蟲之 HTTP 基本原理
        來源:本站 作者:jinglingdaili 時間:2019-02-15 18:15:44

        什么是 HTTP


        HTTP(Hyper Text Transfer Protocol 超文本傳輸協議) 是互聯網上應用最為廣泛的一種網絡協議,是一個客戶端和服務器端請求和應答的標準,用于從 www 服務器傳輸超文本到本地瀏覽器的傳輸協議,它可以使瀏覽器更加高效,使網絡傳輸減少。HTTP 由萬維網協會和 Internet 工作小組 IETF 共同合作制定的規范。


        HTTP 和 HTTPS


        說起 HTTP,就不得不說 HTTPS,HTTPS 比 HTTP 多了個 S,這個 S 就為 SSL,它是一種網絡加密協議,會對網頁傳輸的數據進行加密,我們平常打開的網頁,比如我的博客,在 URL 的開頭,顯示 https,這個就屬于協議類型,當然,協議類型不止這一種,比如還有其他,如 ftp、sftp、smb 開頭的 URL,在爬蟲中,我們抓取的頁面通常就是 http 或 https。


        HTTP 和 HTTPS


        HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的 HTTP 通道,簡單講是 HTTP 的安全版,即 HTTP 下加入 SSL 層,簡稱為 HTTPS。HTTPS 的安全基礎是 SSL,因此通過它傳輸的內容都是經過 SSL 加密的,它的主要作用可以分為兩種:


        建立一個信息安全通道來保證數據傳輸的安全。

        確認網站的真實性。


        不僅電腦端上的網站朝 HTTPS 發展,現在越來越多的 APP 也朝著 HTTPS 方向發展,在未來,互聯網上到處可見 HTTPS。


        HTTP 請求


        請求是由客戶端向服務端發出,其中可分為四部分:請求方法、請求的網址、請求頭、請求體。


        請求方法


        常見的請求方法有 GET 和 POST。我們平常在瀏覽器輸入一個網址,按上駕車,這樣便發起了一個 GET 請求,請求的參數會包含在 URL 里。POST 請求大多是在表單提交時發起,但是你填入的數據不會出現在 URL 里,它會表單的形式傳輸,這也是它們兩者之間的差別。


        請求的網址


        請求的網址,即統一資源定位符 URL,它可以唯一確定我們想請求的資源。


        請求頭


        請求頭是用來說明服務器要使用的附加信息,比較重要的信息有 Cookies、Refer、User-Agent 等。


        Accept:用來指定客戶端可接受哪些類型的信息。

        Accept-Language:指定客戶端可接受的語言類型。

        Accept-Encoding:指定客戶端可接受的內容編碼。

        HOST:指定請求資源主機 IP 和端口號。

        Cookie:它的主要功能是維持當前訪問會話。

        Refer:用來標識這個請求是從哪個頁面發過來的,服務器拿到這一信息并做相應的處理,如做來源統計等。

        User-Agent:使服務器識別客戶使用的操作系統及版本、瀏覽器及版本信息,爬蟲用此參數來偽裝瀏覽器。

        Content-Type:用來表示具體請求中的媒體類型信息。

        在做爬蟲時,大部分情況下還是需要設置請求頭。


        請求體


        請求體中的內容一般是對于 POST 請求來說的,而 GET 請求中,請求體為空。下面以我登錄博客后臺請求的頭部信息,在登錄前,輸入帳號和密碼信息,提交時就會以表單形式提交給服務器,這里需要注意 Request Headers 中指定 Content-Type 為上面箭頭把指定的值,它才會以表單數據的形式提交。下在說下其它值的含義:

        application/x-www-form-urlencoded:表單數據

        multipart/form-data:表單文件上傳

        application/json:序列化 JSON 數據

        text/xml:XML 數據


        在爬蟲中,如需構造 POST 請求,需要使用正確的 Content-Type,并了解各種請求庫的各個參數設置時使用的是哪種 Content-Type,不然可能會導致 POST 提交后無法正常響應。


        HTTP 響應


        響應是由服務端返回給客戶端,其中可分為三部分:響應狀態碼、響應頭和響應體。


        響應狀態碼


        響應狀態碼表示服務器的響應狀態,如 200 表示服務器響應正常,404 代表頁面未找到,500 代表服務器內部發生錯誤。在爬蟲中,可以根據狀態碼來判斷服務器響應狀態,如狀態碼 200,則證明成功返回數據。如需獲取其它狀態碼,可在百度搜索。


        響應頭


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

        Date:說明響應產生的時間。

        Last-Modified:指定資源的最后修改時間。

        Content-Ecoding:指定響應內容的編碼。

        Server:包含服務器的信息,比如名稱、版本號等。

        Content-Type:指定返回的數據類型是什么。

        Set-Cookie:設置 Cookies。告訴瀏覽器需要將此內容放在 Cookies 中,下次請求攜帶 Cookies 請求

        Expires:指定響應的過期時間


        響應體


        響應正文數據都在響應體中,比如請求網頁時,它的響應體就是網頁的 HTML 代碼;請求一張圖片時,它的響應體就是圖片的二進制數據。在做爬蟲過程中,我們要解析的內容就是響應體。


        相關文章內容簡介
        在線咨詢
        微信公眾號

        微信公眾號

        回到頂部
        国产欧美 一区,国产一本大道香蕉AV,国产亚洲卡通另类图片,国产高清AV在线