-http協議和Chrome抓包

http協議和Chrome抓包工具html

什麼是 http 和 https 協議:前端

HTTP協議:全稱HyperText transfer Protocol,中文意思是超文本傳輸協議,是一種發佈和接收HTML頁面的方法。服務器端口號是80端口。python

HTTPS協議:是HTTP協議的加密版本,在HTTP下加入了SSL層。服務器端口號是443端口。瀏覽器

在瀏覽器中發送一個http請求的過程:服務器

  1. 當用戶在瀏覽器的地址欄中輸入一個URL並按回車鍵以後,瀏覽器會向HTTP服務器發送HTTP請求。HTTP請求主要分爲「Get」和「Post」兩種方法。
  2. 當咱們在瀏覽器輸入URL:http://www.baidu.com的時候,瀏覽器發送一個Request請求去獲取http://www.baidu.com的html文件,服務器把Response文件對象發送回給瀏覽器。
  3. 瀏覽器分析Response中的HTML,發現其中引用了不少其餘文件,好比Image文件,CSS文件,JS文件。瀏覽器會自動再次發送Request去獲取圖片,CSS文件,或者JS文件。
  4. 當全部的文件都下載成功後,網頁會根據HTML語法結構,完整的顯示出來。

url詳解:cookie

url 是 Uniform Resource Locator 的簡寫,統一資源定位符。網絡

一個URL 由如下幾部分組成:工具

scheme://host:port/path/?query-string=xxx#anchorpost

  • scheme:表明的是訪問的協議,通常爲 http 或者 https 以及 ftp 等。
  • host:主機名,域名,好比www.baidu.com。
  • port:端口號。當你訪問一個網站的時候,瀏覽器默認使用80端口。
  • path:查找路徑。好比:www.baidu.com/trending/now,後面的trending/now 就是path。
  • query-string:查詢字符串,好比www.baidu.com/s?wd=python,後面的wd=python就是查詢字符串。
  • anchor:錨點,後臺通常不用管,前端用來作頁面定位的。

在瀏覽器中請求一個 url ,瀏覽器會對這個 url 進行一個編碼。除英文字母,數字和部分符號外,其餘的所有使用百分號+十六進制碼進行編碼。網站

 

經常使用的請求方法:

在 http 協議中,定義了八種請求方法。這裏介紹兩種經常使用的請求方法,分別是 get 請求和 post 請求。

  1.  get 請求:通常狀況下,只從服務器獲取數據下來,並不會對服務器資源產生任何影響的時候會使用 get 請求。
  2.  post 請求:向服務器發送數據(登陸)、上傳文件等,會對服務器資源產生影響的時候會使用 post 請求。

以上是在網站開發中經常使用的兩種方法。而且通常狀況下都會遵循使用的原則。可是有的網站和服務器爲了作反爬蟲機制,也常常會不按常理出牌,有可能一個應該使用 get 方法的請求就必定要改爲 post 請求,這個要視狀況而定。

請求頭常見參數:

在 http 協議中,向服務器發送一個請求,數據分爲三部分,第一個是把數據放在 url 中,第二個是把數據放在 body 中(在 post請求中),第三個就是把數據放在 head 中。這裏介紹在網絡爬蟲中常常會用到的一些請求參數:

  1.  User-Agent:瀏覽器名稱。這個在網絡爬蟲中常常會被使用到。請求一個網頁的時候,服務器經過這個參數就能夠知道這個請求是由哪一種瀏覽器發送的。若是咱們是經過爬蟲發送請求,那麼咱們的 User-Agent 就是 Python,這對那些有反爬蟲機制的網站來講,能夠輕易的判斷你這個請求是爬蟲。所以咱們常常要設置這個值爲一些瀏覽器的值,來假裝咱們的爬蟲。
  2. Referer:代表當前這個請求是從哪一個 url 過來的。這個通常也能夠用來作反爬蟲技術。若是不是從指定頁面過來的,那麼就不作相關的響應。
  3. Cookie:http 協議是無狀態的。也就是同一我的發送了兩次請求,服務器沒有能力知道這兩個請求是否來自同一我的。所以這時候就用 Cookie 來作標識。通常若是想要作登陸後才能訪問的網站,那麼就須要發送 cookie 信息了。

常見響應狀態碼:

  1. 200:請求正常,服務器正常的返回數據。
  2. 301:永久重定向。好比在訪問www.jingdong.com 的時候會重定向到 www.jd.com。
  3. 302:臨時重定向。好比在訪問一個須要登陸的頁面的時候,而此時沒有登陸,那麼就會重定向到登陸頁面。】
  4. 400:請求的 url 在服務器上找不到。換句話說就是請求 url 錯誤。
  5. 403:服務器拒絕訪問,權限不夠。
  6. 500:服務器內部錯誤。多是服務器出現了bug了。

Chrome 抓包工具:

Chrome 瀏覽器是一個很是親近開發者的瀏覽器。能夠方便的查看網絡請求以及發送的參數。對着網頁 右鍵->檢查。而後就能夠打開開發者選項。以下:

相關文章
相關標籤/搜索