中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

爬蟲中的HTTP是什么

發布時間:2020-09-24 10:35:22 來源:億速云 閱讀:162 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關爬蟲中的HTTP是什么,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在學習爬蟲的過程中,相信大家對HTTP這個詞已經不陌生了,它好像從未離開過我們的視線。被迫所需,我們每次都要使用開發者工具去查看請求頭,響應頭,以及頭中的各個字段,使用別人封裝好的模塊填入信息,敲幾行代碼就解決了。面對簡單的爬取任務,我們也許根本不用管它是什么,但可能等我們真正遇到問題的時候,卻無從下手。

什么是http? 

超文本傳輸協議(HTTP,HyperText Transfer Protocol) 是互聯網上應用最為廣泛的一種網絡協議。所有WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。

1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,并稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標準架構的發展根基。Ted Nelson組織協調萬維網協會(World Wide Web Consortium)和互聯網工程工作小組(Internet Engineering Task Force )共同合作研究,最終發布了一系列的RFC,其中著名的RFC 2616定義了HTTP 1.1。

http模型

HTTP采用了瀏覽器/服務器這種請求/響應模型,瀏覽器永遠是HTTP請求的發起者,服務器為響應者。這樣在瀏覽器客戶端沒有發起請求的情況下,服務器是不能主動推送消息給客戶端的。

http的定位

HTTP是一個應用層協議,是我們想從服務器端獲取信息的最直觀的請求。比如,在爬蟲中使用的<urllib模塊>,<requests模塊>等都是封裝了HTTP協議,作為一個HTTP客戶端實現了博文,圖片,視頻等信息源的下載。

但是HTTP也不是直接就可以用的,它的請求是建立在一些底層協議的基礎上完成的。如TCP/IP協議棧中,HTTP需要TCP的三次握手連接成功后才能向服務器發起請求。當然,如果是HTTPS的話,還需要TSL和SSL安全層。

一個完整的HTTP請求

既然HTTP協議需要建立在其它底層協議基礎上,我們來看看一個完整的HTTP請求是什么樣的。

當我們點擊一個鏈接或者輸入一個鏈接的時候,整個HTTP的請求過程就開始了,然后經過以下步驟得到最后的信息,我們這里簡單介紹一下前四個步驟,旨在了解HTTP。

<1> 域名解析

首先會搜索各種本地DNS緩存,如果沒有就會向DNS服務器(互聯網提供商)發起域名解析,以獲取IP地址。

<2> 建立TCP連接

當獲取IP后,將創建套接字socket連接,也就是TCP的3次握手連接,默認端口號80。

<3> HTTP請求

一旦TCP連接成功后,瀏覽器/爬蟲就可以向服務器發起HTTP請求報文了,報文內容包含請求行、請求頭部、請求主體。

<4> 服務器響應

服務器響應,并返回一個HTTP響應包(如果成功會返回狀態碼200)和請求的HTML代碼。

響應HTTP請求會返回響應狀態碼,根據狀態碼可以知道返回信息的狀態。狀態碼規定如下:

1xx: 信息響應類,表示接收到請求并且繼續處理

      100——必須繼續發出請求

      101——要求服務器根據請求轉換HTTP協議版本

2xx: 處理成功響應類,表示動作被成功接收、理解和接受

200——交易成功

201——提示知道新文件的URL

202——接受和處理、但處理未完成

203——返回信息不確定或不完整

204——請求收到,但返回信息為空

205——服務器完成了請求,用戶代理必須復位當前已經瀏覽過的文件

206——服務器已經完成了部分用戶的GET請求

3xx: 重定向響應類,為了完成指定的動作,必須接受進一步處理

300——請求的資源可在多處得到

301——刪除請求數據

302——在其他地址發現了請求數據

303——建議客戶訪問其他URL或訪問方式

304——客戶端已經執行了GET,但文件未變化

305——請求的資源必須從服務器指定的地址得到

306——前一版本HTTP中使用的代碼,現行版本中不再使用

307——申明請求的資源臨時性刪除

4xx: 客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行

400——錯誤請求,如語法錯誤

401——未授權

402——保留有效ChargeTo頭響應

403——禁止訪問

404——沒有發現文件、查詢或URl

405——在Request-Line字段定義的方法不允許

406——根據發送的Accept,請求資源不可訪問

407——用戶必須首先在代理服務器上得到授權

408——客戶端沒有在指定的時間內完成請求

409——對當前資源狀態,請求不能完成

410——服務器不再有此資源且無進一步地址

411——服務器拒絕用戶定義的Content-Length

412——一個或多個請求頭字段在當前請求中錯誤

413——請求的資源大于服務器允許的大小

414——請求的資源URL長于服務器允許的長度

415——請求資源不支持請求項目格式

416——請求中包含Range請求頭字段,在當前請求資源范圍內沒有range指示值,請求也不包含If-Range請求頭字段

417——服務器不滿足請求Expect頭字段指定的期望值,如果是代理服務器,可能是下一級服務器不能滿足請求長。

5xx: 服務端錯誤,服務器不能正確執行一個正確的請求

500——內部服務器錯誤

501——未實現

502——網關錯誤

上述就是小編為大家分享的爬蟲中的HTTP是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

池州市| 潮州市| 会理县| 麻城市| 新干县| 临朐县| 阳原县| 扎兰屯市| 华阴市| 安化县| 孝义市| 五台县| 古蔺县| 哈尔滨市| 隆德县| 南陵县| 玛沁县| 三河市| 石门县| 合江县| 囊谦县| 固原市| 运城市| 黑龙江省| 新郑市| 松滋市| 上蔡县| 海丰县| 上林县| 商河县| 抚顺县| 九台市| 略阳县| 荆门市| 建昌县| 且末县| 昆明市| 永定县| 肃北| 青田县| 镇宁|