HTTP協議詳解

2022-08-21 14:30:13 字數 3036 閱讀 7531

http是乙個屬於應用層的物件導向的協議,由於其簡捷、快速的方式,適用於分布式超**資訊系統。它於2023年提出,經過幾年的使用與發展,得到不斷地完善和擴充套件。目前在www中使用的是http/1.0的第六版,http/1.1的規範化工作正在進行之中,而且http-ng(next generation of http)的建議已經提出。

http協議的主要特點可概括如下:

1.支援客戶/伺服器模式。

3.靈活:http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記。

4.無連線:無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

5.無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。

http(超文字傳輸協議)是乙個基於請求與響應模式的、無狀態的、應用層的協議,常基於tcp的連線方式,http1.1版本中給出一種持續連線的機制,絕大多數的web開發,都是構建在http協議之上的web應用。

瀏覽器訪問伺服器的簡單流程:

二、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   

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協議詳解 Http請求詳解

http是hypertext transfer protocol 超文字傳輸協議 的簡寫,它是tcp ip協議的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程。客戶端連上web伺服器後,若想獲得web伺服器中的某個web資源,需遵守一定的通訊格式,http協議用於定義客戶端與w...

Http協議詳解

http協議是乙個基於tcp ip 的協議,使用的是一種請求 響應模型 目前的版本為1。1,但有一些 仍然使用1。0的版本,在待會的實驗中,我們可以看到,網易的主頁163.com仍舊使用的1.0的標準。1 何為請求 響應機制 在這一種機制中,總是客戶端請求伺服器,伺服器接受響應後根據請求端的請求資訊...

HTTP協議詳解

head to inde x.html not supported.invalid method in request head htp 1.1 apache 1.3.12 server at www.fudan.edu.cn port 80 關於實體頭部的內容還可以有 last modified ...