爬蟲是創建在網絡請求的基礎上。因此在開始爬蟲以前必定要有必定的網絡知識。瀏覽器
HTTP協議,全稱爲HyperText Transfer Protocol
。翻譯過來呢就是超文本傳輸協議
,默認端口是80,而HTTPS呢則是在HTTP的基礎上加入了SSL層,這樣呢就會相對安全,請求不會那麼輕易的被別人劫持。默認端口是443。安全
好比咱們常常訪問的百度、淘寶、B站、P站 等等 都是HTTPS的服務器
如下爲簡述,更多細節能夠自行查閱網絡
一、好比我在瀏覽器中輸入www.p_zhan.com
(別試了,這是個假網站)。首先會進行DNS解析,獲取服務器的IP地址。併發
二、而後客戶端和服務器端會創建TCP連接,連接的過程就是三次握手。經過三次握手以後,客戶端與服務端會創建一個可靠的連接,而後就能夠進行數據的傳輸了。網站
三、發送HTTP請求,瀏覽器輸入的地址請求方式是GET請求!ui
四、獲取服務器的響應。響應碼又分爲2xx,3xx,4xx,5xx等翻譯
五、將內容進行解碼,若是數據須要展現,再由瀏覽器進行渲染。代理
GET:發送的請求是獲取服務器上的資源。請求體中不會包含請求數據,請求數據會放在協議頭上code
POST:向服務器提交資源,好比表單提交,上傳文件等。請求數據會放在請求體重
HEAD:本質與GET同樣。可是不返回報文主體部分,用於確認URI的有效性以及資源的更新時間等
PUT:經常使用於上傳文件。
DELETE:刪除文件
OPTIONS:查詢請求的資源支持的請求方法。
響應碼又稱爲狀態碼,表示頁面服務器超文本傳輸協議響應狀態的3位數字代碼。
消息: | 描述: |
---|---|
100 Continue | 服務器僅接收到部分請求,可是一旦服務器並無拒絕該請求,客戶端應該繼續發送其他的請求。 |
101 Switching Protocols | 服務器轉換協議:服務器將聽從客戶的請求轉換到另一種協議。 |
103 Checkpoint | 用於 PUT 或者 POST 請求恢復失敗時的恢復請求建議。 |
消息: | 描述: |
---|---|
200 OK | 請求成功(這是對HTTP請求成功的標準應答。) |
201 Created | 請求被建立完成,同時新的資源被建立。 |
202 Accepted | 供處理的請求已被接受,可是處理未完成。 |
203 Non-Authoritative Information | 請求已經被成功處理,可是一些應答頭可能不正確,由於使用的是其餘文檔的拷貝。 |
204 No Content | 請求已經被成功處理,可是沒有返回新文檔。瀏覽器應該繼續顯示原來的文檔。若是用戶按期地刷新頁面,而Servlet能夠肯定用戶文檔足夠新,這個狀態代碼是頗有用的。 |
205 Reset Content | 請求已經被成功處理,可是沒有返回新文檔。但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸入內容。 |
206 Partial Content | 客戶發送了一個帶有Range頭的GET請求,服務器完成了它。 |
消息: | 描述: |
---|---|
300 Multiple Choices | 多重選擇。連接列表。用戶能夠選擇某連接到達目的地。最多容許五個地址。 |
301 Moved Permanently | 所請求的頁面已經轉移至新的 URL 。 |
302 Found | 所請求的頁面已經臨時轉移至新的 URL 。 |
303 See Other | 所請求的頁面可在別的 URL 下被找到。 |
304 Not Modified | 未按預期修改文檔。客戶端有緩衝的文檔併發出了一個條件性的請求(通常是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩衝的文檔還能夠繼續使用。 |
305 Use Proxy | 客戶請求的文檔應該經過Location頭所指明的代理服務器提取。 |
306 Switch Proxy | 目前已再也不使用,可是代碼依然被保留。 |
307 Temporary Redirect | 被請求的頁面已經臨時移至新的 URL 。 |
308 Resume Incomplete | 用於 PUT 或者 POST 請求恢復失敗時的恢復請求建議。 |
消息: | 描述: |
---|---|
400 Bad Request | 由於語法錯誤,服務器未能理解請求。 |
401 Unauthorized | 合法請求,但對被請求頁面的訪問被禁止。由於被請求的頁面須要身份驗證,客戶端沒有提供或者身份驗證失敗。 |
402 Payment Required | 此代碼尚沒法使用。 |
403 Forbidden | 合法請求,但對被請求頁面的訪問被禁止。 |
404 Not Found | 服務器沒法找到被請求的頁面。 |
405 Method Not Allowed | 請求中指定的方法不被容許。 |
406 Not Acceptable | 服務器生成的響應沒法被客戶端所接受。 |
407 Proxy Authentication Required | 用戶必須首先使用代理服務器進行驗證,這樣請求才會被處理。 |
408 Request Timeout | 請求超出了服務器的等待時間。 |
409 Conflict | 因爲衝突,請求沒法被完成。 |
410 Gone | 被請求的頁面不可用。 |
411 Length Required | "Content-Length" 未被定義。若是無此內容,服務器不會接受請求。 |
412 Precondition Failed | 請求中的前提條件被服務器評估爲失敗。 |
413 Request Entity Too Large | 因爲所請求的實體太大,服務器不會接受請求。 |
414 Request-URI Too Long | 因爲 URL 太長,服務器不會接受請求。當 POST 請求被轉換爲帶有很長的查詢信息的 GET 請求時,就會發生這種狀況。 |
415 Unsupported Media Type | 因爲媒介類型不被支持,服務器不會接受請求。 |
416 Requested Range Not Satisfiable | 客戶端請求部分文檔,可是服務器不能提供被請求的部分。 |
417 Expectation Failed | 服務器不能知足客戶在請求中指定的請求頭。 |
消息: | 描述: |
---|---|
500 Internal Server Error | 請求未完成。服務器遇到不可預知的狀況。 |
501 Not Implemented | 請求未完成。服務器不支持所請求的功能,或者服務器沒法完成請求。 |
502 Bad Gateway | 請求未完成。服務器充當網關或者代理的角色時,從上游服務器收到一個無效的響應。 |
503 Service Unavailable | 服務器當前不可用(過載或者當機)。 |
504 Gateway Timeout | 網關超時。服務器充當網關或者代理的角色時,未能從上游服務器收到一個及時的響應。 |
505 HTTP Version Not Supported | 服務器不支持請求中指明的HTTP協議版本。 |
511 Network Authentication Required | 用戶須要提供身份驗證來獲取網絡訪問入口。 |