http協議詳解

2022-02-24 14:28:21 字數 1097 閱讀 1102

http協議定義了web客戶端如何從web伺服器請求web頁面,以及伺服器如何把web頁面傳送給客戶端

1.1客戶端連線到web伺服器

乙個http客戶端,通常是瀏覽器,與web伺服器的http(埠預設是80),建立乙個tcp套接字連線

1.2傳送http請求

通過tcp套接字,客戶端向web伺服器傳送乙個文字的請求報文,乙個請求報文由請求頭、請求行、空行以及請求資料四部分組成

1.3伺服器接收到請求並返回http響應

web伺服器解析請求,定位請求資源,伺服器將資源複本寫到tcp套接字,由客戶端讀取,乙個響應由狀態行、響應頭部、空行(請求空行)和響應資料(請求體)四部分組成,

1.4釋放連線tcp

若connection模式為close,則伺服器主動關閉tcp連線,客戶端被動關閉連線,釋放tcp連線,若connection模式為keepalive,則連線會保持一段時間,在這段時間內可以繼續接收請求

1.5客戶端瀏覽器解析html內容

2.1從引數傳遞方面:

get請求的引數是直接拼接在位址列url的後面,post請求的引數是放在請求體中

2.2從長度方面:

get請求有具體的請求大小限制,一般不超過1024bytes,而post理論上沒有,但是瀏覽器一般有界限

2.3從安全方面:

get請求相比較於post,資料明文顯示在位址url中,所以安全性和私密性不如post

總結:從本質上來說,二者都是tcp連線,並無實質上的區別,但是由於http/瀏覽器的限定,導致他們在應用過程中有一定的區別,get產生乙個資料報,post產生兩個資料報,對於get請求,瀏覽器會把http header和data一併發出去,伺服器響應200,而對於post,瀏覽器會先傳送header,伺服器會響應100continue,瀏覽器再傳送data,伺服器響應200

注:紅叉是比較危險的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 ...