web基礎之http協議詳解
一、瀏覽器訪問伺服器的簡單流程:
二、http協議資料報的抓取
如果需要抓取http協議的資料報,可以使用httpwatch或者fiddler
httpwatch支援ie和firefox
fiddler則支援各種瀏覽器,因為其抓取的所有的http協議資料報
我們使用fiddler抓一下http的請求和響應
三、使用fiddler抓取我們自己寫的簡單頁面
使用fiddler抓取的請求報文
使用fiddler抓取的響應報文
四、http協議詳解
1、乙個典型的請求:
post http://localhost:8080/servlet02/login http/1.1 ---> 請求首行
host: localhost:8080
---> 請求頭
username=shelley&userpwd=123---> 請求正文
get跟post的區別:get的引數會作為url的q uerystring提交,而post的引數會作為請求正文提交
五、更深層次解讀http協議
請求首行、請求空行和請求正文
get:請求方式
http://localhost...:請求路徑
http/1.1:請求協議以及版本,1.1與1.0之間的區別在於1.0一次請求一次連線,1.1可以多次連線,預設保持3000ms
請求空行:作為請求頭與請求正文之間的空行
請求正文:如果請求方式為post則有請求正文,正文中包含的就是請求的引數,如果請求方式為get則沒有正文,引數可以通過url傳遞
請求頭詳解:
host:請求主機名與埠號
connection:保持連線,與http的協議版本相關,如果是1.0,則沒有。
content-length:正文長度
user-agent:使用者**,指的是使用者所使用的機器與瀏覽器資訊,如果見過顯示你系統與瀏覽器的資訊的,甚至你所在位置, 天氣預報,沒錯,就是用這個,以及訪問ip來製作的。
content-type:表單資料型別。
accept:接受資源型別,可以有多個,有優先順序。
referer:請求****,可以使用在搜尋統計,防盜煉等。
accept-encoding:代表可以接受的壓縮型別,早期傳輸速度很慢時,文字壓縮率高,通常會做壓縮。
accept-language:接收語言型別。
cookie:**伺服器在客戶端儲存的相關資訊。與資訊洩露相關。
響應首行、響應空行、響應正文
http/1.1:協議號/版本
200 ok:狀態碼 描述。
常見響應狀態碼:
狀態碼、描述:
200:成功
404:資源找不到
500:伺服器錯誤
302:重定向
304:快取獲取
響應空行:分割作用
響應正文:網頁的html文件
響應頭詳解:
六、總結
理論知識總是枯燥無味的;但不知道為什麼,了解http協議個人覺得並不是那麼枯燥無味;所以,你一定得耐著性子慢慢讀;其實http協議很複雜,這說的詳解也只是了解一下大概;
還有就是fiddler工具的使用,有時我總是害怕使用新的工具;其實,你越是害怕,就越是不敢嘗試,就越整我不了;只有勇於嘗試,才不會害怕;
通過學習,我對http協議有了一定的了解,你呢?
共勉!
Web開發之HTTP協議詳解
1.什麼是http?超文字傳輸協議 2.http用來幹什麼?規範了瀏覽器和伺服器之間的資料傳輸格式 利用鍵值對進行資料傳輸 說白了就是一種規範,特別注意如果沒有http協議,瀏覽器和伺服器之間也是可以實現互動的,只是很複雜,那麼為什麼呢?那是因為http不是傳送資料的通道,它只是乙個傳送資料的通道中...
http協議詳解(一)HTTP協議基礎
最近在看一些http的東西,http比較雜,大致整理了一下,用思維導圖的方式呈現了出來。我會分幾個板塊來介紹http協議,具體的板塊也在下面的思維導圖中標註出來了,盡量以簡潔的方式為大家呈現http的內容。初寫部落格,文中有些紕漏的地方還請大家指點。http 超文字傳輸協議,本質上是一種通訊協議。用...
HTTP 協議基礎詳解
http協議屬於應用層協議。流程就是客戶端傳送請求報文到伺服器,然後伺服器回傳響應報文到客戶端。客戶端請求報文格式 伺服器響應報文格式 其中請求頭部欄位有多種 accept 瀏覽器可接受的mime型別 accept encoding 瀏覽器能夠進行解碼的資料編碼方式 accept language ...