http協議定義web客戶端如何從web伺服器請求web頁面,以及伺服器如何把web頁面傳送給客戶端,http協議採用了請求/響應模型,客戶端向伺服器傳送了乙個請求報文,請求報文包含請求的方法、url、協議版本、請求頭部和請求資料,伺服器以乙個狀態行作為響應,響應的內容包括協議的版本,成功或者錯誤**、伺服器資訊、響應頭部 和響應資料。
以下是http請求/響應的步驟:
1.瀏客戶端連線到web伺服器
瀏覽器向dns伺服器請求解析該url中的網域名稱所對應的ip位址,乙個http客戶端,通常是瀏覽器,與web伺服器的http埠(預設為80)建立乙個tcp套接字連線,例如
2.傳送http請求
通過tcp套接字,客戶端向web伺服器傳送乙個文字的請求報文,乙個請求報文有請求行、請求頭、空行和請求資料4部分組成
3.伺服器接受請求並返回http響應
web伺服器解析請求,定位請求資源,伺服器將資源複本寫到tcp套接字,由客戶端讀取,乙個響應由狀態行,響應頭部,空行,響應資料4部分組成
4.釋放連線tcp連線
若connection模式為close,則伺服器主動關閉tcp連線,客戶端被動關閉連線,釋放tcp連線;若connection模式為keepalive,則該連線會保持一段時間,在該時間內可以繼續接受請求
5.客戶端瀏覽器解析html內容
客戶端瀏覽器首先解析狀態行,檢視表明請求是否成功的狀態**,然後解析每乙個響應頭,響應頭告知以下為若干位元組的html文件和文件的字符集,客戶端瀏覽器讀取響應資料html,根據html的語法對其進行格式化,並在瀏覽器視窗中顯示
tcp/ip三次握手,四次揮手
網路七層模型
請求訊息的資料格式
1.請求行:
請求方式 ------ 請求url -------- 請求協議/版本
http協議有8種請求方式,常用的有兩種(get,post) get、post、head、put、delete、connect、options、trace
get:
post:
2.請求頭:
客戶端瀏覽器告訴伺服器一些資訊
請求頭名稱:請求頭值
常見的請求頭:
1.user-agent:瀏覽器告訴伺服器,我訪問你使用的瀏覽器版本資訊
*可以在伺服器獲取該頭的資訊,解決瀏覽器的相容性問題
3.請求空行:空行,就是用於分割post請求的請求頭和請求體的
4.請求體(正文)
響應訊息:服務端傳送給客戶端的資料
資料格式:
restful風格
Http工作原理
http1.1 與 http1.0向後相容,執行1.1版本的web伺服器可以與執行1.0版本的瀏覽器 對話 執行1.1版本的瀏覽器也可以與執行1.0版本的web伺服器對話。http和tcp的關係 雖然http1.1和http1.0協議本身沒有規定支援其傳輸的底層協議是哪種協議,但通常情況下都是架構在...
http工作原理
客戶機與伺服器建立連線後,傳送乙個請求給伺服器,請求格式為 統一資源識別符號 協議版本號。伺服器收到請求的資訊 包括請求行,請求頭,請求體 伺服器接收到請求後,給予相應的響應資訊,格式為乙個狀態行 包括響應行,響應頭,響應體 在internet上,http通訊通常發生在tcp ip連線之上。預設埠是...
HTTP工作原理
以下是 http 請求 響應的步驟 客戶端連線到web伺服器 乙個http客戶端,通常是瀏覽器,與web伺服器的http埠 預設為80 建立乙個tcp套接字連在這裡插入 片接。例如,傳送http請求 通過tcp套接字,客戶端向web伺服器傳送乙個文字的請求報文,乙個請求報文由請求行 請求頭部 空行和...