http協議:全稱是hypertext transfer protocol
,中文意思是超文字傳輸協議,是一種發布和接收html頁面的方法。伺服器端口號是80
埠。 https協議:是http協議的加密版本,在http下加入了ssl層。伺服器端口號是443
埠。
當使用者在瀏覽器的位址列中輸入乙個url並按回車鍵之後,瀏覽器會向http伺服器傳送http請求。http請求主要分為「get」和「post」兩種方法。
當我們在瀏覽器輸入url 的時候,瀏覽器傳送乙個request請求去獲取 的html檔案,伺服器把response檔案物件傳送回給瀏覽器。
瀏覽器分析response中的 html,發現其中引用了很多其他檔案,比如images檔案,css檔案,js檔案。 瀏覽器會自動再次傳送request去獲取,css檔案,或者js檔案。
url
是uniform resource locator
的簡寫,統一資源定位符。 乙個url
由以下幾部分組成:
scheme://host:port/path/?query-string=***#anchor
在瀏覽器中請求乙個url
,瀏覽器會對這個url進行乙個編碼。除英文本母,數字和部分符號外,其他的全部使用百分號+十六進製製碼值進行編碼。
在http
協議中,定義了八種請求方法。這裡介紹兩種常用的請求方法,分別是get
請求和post
請求。
get
請求:一般情況下,只從伺服器獲取資料下來,並不會對伺服器資源產生任何影響的時候會使用get
請求。
post
請求:向伺服器傳送資料(登入)、上傳檔案等,會對伺服器資源產生影響的時候會使用post
請求。 以上是在**開發中常用的兩種方法。並且一般情況下都會遵循使用的原則。但是有的**和伺服器為了做反爬蟲機制,也經常會不按常理出牌,有可能乙個應該使用get
方法的請求就一定要改成post
請求,這個要視情況而定。
在http
協議中,向伺服器傳送乙個請求,資料分為三部分,第乙個是把資料放在url中,第二個是把資料放在body
中(在post
請求中),第三個就是把資料放在head
中。這裡介紹在網路爬蟲中經常會用到的一些請求頭引數:
user-agent
:瀏覽器名稱。這個在網路爬蟲中經常會被使用到。請求乙個網頁的時候,伺服器通過這個引數就可以知道這個請求是由哪種瀏覽器傳送的。如果我們是通過爬蟲傳送請求,那麼我們的user-agent
就是python
,這對於那些有反爬蟲機制的**來說,可以輕易的判斷你這個請求是爬蟲。因此我們要經常設定這個值為一些瀏覽器的值,來偽裝我們的爬蟲。
referer
:表明當前這個請求是從哪個url
過來的。這個一般也可以用來做反爬蟲技術。如果不是從指定頁面過來的,那麼就不做相關的響應。
cookie
:http
協議是無狀態的。也就是同乙個人傳送了兩次請求,伺服器沒有能力知道這兩個請求是否來自同乙個人。因此這時候就用cookie
來做標識。一般如果想要做登入後才能訪問的**,那麼就需要傳送cookie
資訊了。
200
:請求正常,伺服器正常的返回資料。
301
:永久重定向。比如在訪問www.jingdong.com
的時候會重定向到www.jd.com
。
302
:臨時重定向。比如在訪問乙個需要登入的頁面的時候,而此時沒有登入,那麼就會重定向到登入頁面。
400
:請求的url
在伺服器上找不到。換句話說就是請求url
錯誤。
403
:伺服器拒絕訪問,許可權不夠。
500
:伺服器內部錯誤。可能是伺服器出現bug
了。
chrome
瀏覽器是乙個非常親近開發者的瀏覽器。可以方便的檢視網路請求以及傳送的引數。對著網頁右鍵->檢查
。然後就可以開啟開發者選項。以下用來說明。
http協議和Chrome抓包工具
http協議 全稱是hypertext transfer protocol,中文意思是超文字傳輸協議,是一種發布和接收html頁面的方法。伺服器端口號是80埠。https協議 是http協議的加密版本,在http下加入了ssl層。伺服器端口號是443埠。當使用者在瀏覽器的位址列中輸入乙個url並按回...
Http協議抓包詳解
抓包分析 get方式 請求部分 抓包分析 post方式 name bbb age 38 響應部分 請求部分 請求行 提交方式 提交方式有很多,常用的get和post get和post的區別 get的提交的引數會顯示到位址列上,而post不顯示.get往往是有大小限制的,而post沒有大小的限制.ge...
1 HTTP協議和Chrome瀏覽器
1 http 超文字傳輸協議,是一種發布和接收html頁面的方法,伺服器端口號是80埠 https http協議的加密版本,在http下加入了ssl層。埠號是 443 埠。2 url 統一資源定位符。有以下幾部分組成 scheme host port path query string anchor...