2018-08-28

  • 一、http和https
    • HTTP的全稱是Hyper Transfer Protocol ---->超文本傳輸協(xié)議,主要從網(wǎng)絡(luò)傳輸超文本數(shù)據(jù)到本地瀏覽器的傳輸協(xié)議。
      HTTPS的全稱Hpyer Text Transfer Protocol over Secure Socket Layer,試驗(yàn)權(quán)為目標(biāo)的HTTP通道。
      HTTPS的安全基礎(chǔ)為SSL,因此通過它傳輸?shù)膬?nèi)容都經(jīng)過的SSL加密,其主要分為兩種:
      • 建立一個(gè)信息通道保證數(shù)據(jù)傳輸?shù)陌踩?/li>
      • 確認(rèn)網(wǎng)站的真實(shí)性,可以通過點(diǎn)擊瀏覽器地址欄的鎖頭標(biāo)志來查看網(wǎng)站認(rèn)證之后的真實(shí)信息,可以通過CA機(jī)制panda的安全簽章查詢。
    • 爬取SSL加密的網(wǎng)站需要設(shè)置忽略證書的選項(xiàng),否則提示SSL連接錯(cuò)誤。
  • 二、HTTP請(qǐng)求過程
    • 1、請(qǐng)求:有客服端向服務(wù)端發(fā)出,分為4部分內(nèi)容:
      請(qǐng)求方式(Request Method)、請(qǐng)求網(wǎng)址(Request URL)、請(qǐng)求頭(Request Header)、請(qǐng)求體(Request Body)。
      • 常見的請(qǐng)求方法兩種:GET和POST
        1. GET 請(qǐng)求:GET請(qǐng)求中的參數(shù)包含在URL里面,數(shù)據(jù)可以在URL中看到,而POST請(qǐng)求的URL不會(huì)包含這些數(shù)據(jù),數(shù)據(jù)都是通過表單形式傳輸?shù)?,包含在?qǐng)求體中。
        2. GET請(qǐng)求提交的數(shù)據(jù)最多只有1024字節(jié),而POST方式?jīng)]有限制。
          HTTP1.0定義了三種請(qǐng)求方法: GET, POST 和 HEAD方法。
          HTTP1.1新增了五種請(qǐng)求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
          序號(hào) 方法 描述
          1 GET 請(qǐng)求指定的頁面信息,并返回實(shí)體主體。
          2 HEAD 類似于get請(qǐng)求,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報(bào)頭
          3 POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
          4 PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。
          5 DELETE 請(qǐng)求服務(wù)器刪除指定的頁面。
          6 CONNECT HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
          7 OPTIONS 允許客戶端查看服務(wù)器的性能。
          8 TRACE 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。
    • 2、請(qǐng)求的網(wǎng)址:
      • 請(qǐng)求的網(wǎng)址。及統(tǒng)一資源定位符URL,它可以唯一確定我們想請(qǐng)求的資源。
    • 3、請(qǐng)求頭:用來說明服務(wù)器使用的附加信息有cookie、Referer、User-Agent等。
      • Accept:請(qǐng)求報(bào)頭域,用于指定客服端可接受的信息類型
      • Accept-Language:指定客服端可接受的語言類型
      • Accept-Encoding:指定客服端可接受的內(nèi)容編碼
      • Host:用于指定請(qǐng)求資源的IP和端口號(hào),其內(nèi)容為請(qǐng)求的URL的原始服務(wù)器或彎管的位置。
      • cookie:網(wǎng)站為了辨別用戶會(huì)話而存儲(chǔ)在用戶本地的數(shù)據(jù),用于維持當(dāng)前訪問的會(huì)話。
      • Referer:用來表示這個(gè)請(qǐng)求是從那個(gè)頁面發(fā)過來的,可以做來源統(tǒng)計(jì)、防盜鏈處理等。
      • User-Agent:簡稱UA ,他是一個(gè)特殊的字符串頭,可以是服務(wù)器識(shí)別客服使用的操作系統(tǒng)及版本、瀏覽器及版本等信息,在爬蟲時(shí)可以偽裝成瀏覽器。
      • Content-Type:用來表示請(qǐng)求中的媒體類型
    • 4、請(qǐng)求體
      • 請(qǐng)求體一般承載POST請(qǐng)求中的表達(dá)數(shù)據(jù),對(duì)于GET請(qǐng)求,請(qǐng)求體則為空。
  • 響應(yīng)
    響應(yīng),由服務(wù)器返回給客服端,可以分為三部分:響應(yīng)狀態(tài)碼(Response Code)、響應(yīng)頭(Rsponse Headers)和響應(yīng)體(Response Body)
    • 響應(yīng)狀態(tài)碼:表示服務(wù)器響應(yīng)狀態(tài)
      • 200 成功 服務(wù)器已成功處理了請(qǐng)求
      • 307 臨時(shí)重定向 請(qǐng)求的網(wǎng)頁展示跳轉(zhuǎn)到其他頁面,即暫時(shí)重定向
      • 403 禁止訪問 服務(wù)器拒絕請(qǐng)求
      • 400 錯(cuò)誤請(qǐng)求 服務(wù)器無法解析該請(qǐng)求
      • 404 未找到 服務(wù)器找不到親球的網(wǎng)頁
      • 500 服務(wù)器內(nèi)部錯(cuò)誤 服務(wù)器錯(cuò)誤無法完成請(qǐng)求
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容