一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

 知行合一ing 2017-11-19

HTTP基本原理

在本節(jié)我們會詳細了解 HTTP 的基本原理,了解在瀏覽器中敲入一個 URL 到獲取網(wǎng)頁內容發(fā)生了一個怎樣的過程,了解了這些內容,有助于去進一步了解爬蟲的基本原理。小編推薦大家加一下這個群:330637182 這個群里好幾千人了!大家遇到啥問題都會在里面交流!而且免費分享零基礎入門料資料web開發(fā) 爬蟲資料一整套!是個非常好的學習交流地方!也有程序員大神給大家熱心解答各種問題!很快滿員了。欲進從速哦!各種PDF等你來下載!全部都是免費的哦!所以小編在群里等你們過來一起交流學習呢!

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

關于爬蟲的HTTP原理,看完這一長篇就夠了?。ǜ饺笈老x案例)

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

Python程序員

2 個月前

HTTP基本原理

在本節(jié)我們會詳細了解 HTTP 的基本原理,了解在瀏覽器中敲入一個 URL 到獲取網(wǎng)頁內容發(fā)生了一個怎樣的過程,了解了這些內容,有助于去進一步了解爬蟲的基本原理。

1. URI、URL

在了解 HTTP 之前我們先了解一下 URI 和 URL。我們經(jīng)常會聽到 URI 和 URL 兩個術語,URI 全稱為 Uniform Resource Identifier,即統(tǒng)一資源標志符,URL 全稱為 Universal Resource Locator,即統(tǒng)一資源定位符。

舉例來說,https://github.com/favicon.ico,這是 GitHub 的網(wǎng)站圖標鏈接,它是一個 URL,也是一個 URI,即有這樣的一個圖標資源,我們用 URL/URI 來唯一指定了它的訪問方式,這其中包括了訪問協(xié)議 https、訪問路徑/即根目錄,資源名稱 favicon.ico,通過這樣的一個鏈接我們便可以從互聯(lián)網(wǎng)上找到這個資源,這就是 URL/URI。

URL 是 URI 的子集,也就是說每個 URL 都是 URI,但不是每個 URI 都是 URL。那么怎樣的 URI 不是 URL 呢?URI 還包括一個子類叫做 URN,它的全稱為 Universal Resource Name,即統(tǒng)一資源名稱。URN 只命名資源而不指定如何定位資源,如 urn:isbn:0451450523,它指定了一本書的 ISBN,可以唯一標識這一本書,但是沒有指定到哪里定位這本書,這就是 URN,URL、URN、URI 的關系可以用圖表示如下:

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

URL、URN、URI 關系圖

但是在目前的互聯(lián)網(wǎng),URN 的使用非常少,所以幾乎所有的 URI 都是 URL,所以一般的網(wǎng)頁鏈接我們可以稱之為 URL,也可以稱之為 URI,我個人習慣稱之為 URL。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

  • 是建立一個信息安全通道,來保證數(shù)據(jù)傳輸?shù)陌踩?/p>

  • 確認網(wǎng)站的真實性,凡是使用了 https 的網(wǎng)站,都可以通過點擊瀏覽器地址欄的鎖頭標志來查看網(wǎng)站認證之后的真實信息,也可以通過 CA 機構頒發(fā)的安全簽章來查詢。

現(xiàn)在越來越多的網(wǎng)站和 APP 都已經(jīng)向 HTTPS 方向發(fā)展。例如:

  • 蘋果公司強制所有 iOS App 在 2017 年 1 月 1 日 前全部改為使用 HTTPS 加密,否則 APP 就無法在應用商店上架。

  • 谷歌從 2017 年 1 月推出的 Chrome 56 開始,對未進行 HTTPS 加密的網(wǎng)址鏈接亮出風險提示,即在地址欄的顯著位置提醒用戶“此網(wǎng)頁不安全”。

  • 騰訊微信小程序的官方需求文檔要求后臺使用 HTTPS 請求進行網(wǎng)絡通信,不滿足條件的域名和協(xié)議無法請求。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

12306 頁面

這是因為 12306 的 CA 證書是中國鐵道部自己頒發(fā)給自己的,而這個證書是不被官方機構認可的,所以這里證書驗證就不會通過而提示這樣的話,但是實際上它的數(shù)據(jù)傳輸依然是經(jīng)過 SSL 加密的。我們如果要爬取這樣的站點就需要設置忽略證書的選項,否則會提示 SSL 鏈接錯誤,在后文會進行詳細說明。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

網(wǎng)絡請求記錄

這一個條目的各列分別代表:

  • 第一列 Name,即 Request 的名稱。一般會用URL的最后一部分內容當做名稱。

  • 第二列 Status,即 Response 的狀態(tài)碼。這里顯示為 200,代表 Response 是正常的,通過狀態(tài)碼我們可以判斷發(fā)送了 Request 之后是否得到了正常的 Response。

  • 第三列 Type,即 Request 請求的文檔類型。這里為 document,代表我們這次請求的是一個 HTML 文檔,內容就是一些 HTML 代碼。

  • 第四列 Initiator,即請求源。用來標記 Request 是由哪個對象或進程發(fā)起的。

  • 第五列 Size,即從服務器下載的文件和請求的資源大小。如果是從緩存中取得的資源則該列會顯示 from cache。

  • 第六列 Time,即發(fā)起 Request 到獲取到 Response 所用的總時間。

  • 第七列 Timeline,即網(wǎng)絡請求的可視化瀑布流。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

方法描述

GET請求指定的頁面信息,并返回實體主體。

HEAD類似于 GET 請求,只不過返回的響應中沒有具體的內容,用于獲取報頭。

POST向指定資源提交數(shù)據(jù)進行處理請求,數(shù)據(jù)被包含在請求體中。

PUT從客戶端向服務器傳送的數(shù)據(jù)取代指定的文檔的內容。

DELETE請求服務器刪除指定的頁面。

CONNECTHTTP/1.1 協(xié)議中預留給能夠將連接改為管道方式的代理服務器。

OPTIONS允許客戶端查看服務器的性能。

TRACE回顯服務器收到的請求,主要用于測試或診斷。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

詳細信息

在登錄之前我們填寫了用戶名和密碼信息,提交時就這些內容就會以 Form Data 的形式提交給服務器,此時注意 Request Headers 中指定了 Content-Type 為 application/x-www-form-urlencoded,只有設置 Content-Type 為 application/x-www-form-urlencoded 才會以 Form Data 形式提交,另外我們也可以將 Content-Type 設置為 application/json 來提交 Json 數(shù)據(jù),或者設置為 multipart/form-data 來上傳文件。

下面列出了 Content-Type 和 POST 提交數(shù)據(jù)方式的關系:

Content-Type提交數(shù)據(jù)方式

application/x-www-form-urlencodedForm 表單提交

multipart/form-data表單文件上傳提交

application/json序列化 Json 數(shù)據(jù)提交

text/xmlXML 數(shù)據(jù)提交

在爬蟲中如果我們要構造 POST 請求需要注意這幾種 Content-Type,了解各種請求庫的各個參數(shù)設置時使用的是哪種 Content-Type,不然可能會導致 POST 提交后得不到正常的 Response。

以上便是對 Request 各部分內容的解釋。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

狀態(tài)碼說明詳情

100繼續(xù)請求者應當繼續(xù)提出請求。服務器已收到請求的一部分,正在等待其余部分。

101切換協(xié)議請求者已要求服務器切換協(xié)議,服務器已確認并準備切換。

200成功服務器已成功處理了請求。

201已創(chuàng)建請求成功并且服務器創(chuàng)建了新的資源。

202已接受服務器已接受請求,但尚未處理。

203非授權信息服務器已成功處理了請求,但返回的信息可能來自另一來源。

204無內容服務器成功處理了請求,但沒有返回任何內容。

205重置內容服務器成功處理了請求,內容被重置。

206部分內容服務器成功處理了部分請求。

300多種選擇針對請求,服務器可執(zhí)行多種操作。

301永久移動請求的網(wǎng)頁已永久移動到新位置,即永久重定向。

302臨時移動請求的網(wǎng)頁暫時跳轉到其他頁面,即暫時重定向。

303查看其他位置如果原來的請求是 POST,重定向目標文檔應該通過 GET 提取。

304未修改此次請求返回的網(wǎng)頁未修改,繼續(xù)使用上次的資源。

305使用代理請求者應該使用代理訪問該網(wǎng)頁。

307臨時重定向請求的資源臨時從其他位置響應。

400錯誤請求服務器無法解析該請求。

401未授權請求沒有進行身份驗證或驗證未通過。

403禁止訪問服務器拒絕此請求。

404未找到服務器找不到請求的網(wǎng)頁。

405方法禁用服務器禁用了請求中指定的方法。

406不接受無法使用請求的內容響應請求的網(wǎng)頁。

407需要代理授權請求者需要使用代理授權。

408請求超時服務器請求超時。

409沖突服務器在完成請求時發(fā)生沖突。

410已刪除請求的資源已永久刪除。

411需要有效長度服務器不接受不含有效內容長度標頭字段的請求。

412未滿足前提條件服務器未滿足請求者在請求中設置的其中一個前提條件。

413請求實體過大請求實體過大,超出服務器的處理能力。

414請求 URI 過長請求網(wǎng)址過長,服務器無法處理。

415不支持類型請求的格式不受請求頁面的支持。

416請求范圍不符頁面無法提供請求的范圍。

417未滿足期望值服務器未滿足期望請求標頭字段的要求。

500服務器內部錯誤服務器遇到錯誤,無法完成請求。

501未實現(xiàn)服務器不具備完成請求的功能。

502錯誤網(wǎng)關服務器作為網(wǎng)關或代理,從上游服務器收到無效響應。

503服務不可用服務器目前無法使用。

504網(wǎng)關超時服務器作為網(wǎng)關或代理,但是沒有及時從上游服務器收到請求。

505HTTP 版本不支持服務器不支持請求中所用的 HTTP 協(xié)議版本。

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

如果你連HTTP原理都不清楚!那你爬個屁呢!神級程序員詳解!超長

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩欧美一区二区不卡看片| 亚洲一区二区三区av高清| 久久青青草原中文字幕| 亚洲国产中文字幕在线观看| 好骚国产99在线中文| 亚洲午夜福利视频在线| 欧美一区二区在线日韩| 亚洲一区二区欧美在线| 人妻少妇久久中文字幕久久| 中文字幕在线区中文色| 久久久精品日韩欧美丰满| 欧美精品专区一区二区| 日韩特级黄片免费在线观看| 国产精品一区二区三区激情| 久久热在线视频免费观看| 手机在线不卡国产视频| 中文字幕一区久久综合| 欧美一区二区三区性视频| 婷婷亚洲综合五月天麻豆| 亚洲一区二区精品免费| 欧美黄色成人真人视频| 男人把女人操得嗷嗷叫| 日韩三极片在线免费播放| 亚洲中文字幕综合网在线| 香蕉网尹人综合在线观看| 国产福利一区二区三区四区| 欧美午夜一级特黄大片| 国产精品日韩精品最新| 色婷婷在线视频免费播放| 亚洲中文在线中文字幕91| 开心激情网 激情五月天| 台湾综合熟女一区二区| 国产二级一级内射视频播放| 国产免费操美女逼视频| 韩日黄片在线免费观看| 亚洲欧美天堂精品在线| 国产又粗又猛又大爽又黄| 国内精品伊人久久久av高清| 好吊视频一区二区在线| 欧美日韩一区二区午夜| 午夜成年人黄片免费观看|