http報文是面向文字的,報文中每乙個欄位都是一些ascii碼串,各個欄位的長度是不確定的。http有兩類報文:請求報文 響應報文
乙個http請求報文由
四部分組成;
a、請求行
請求行由請求方法字段、url欄位和http協議版本字段,組成,它們用空格分隔,例如:get /index.html http/1.1
http協議的請求方法有get、post、head、put、delete、options、trace、connect。這裡介紹最常用的get和post方法;
get:當client要從server中讀取文件時,使用get方法。get方法要求伺服器將url定位的資源放在響應報文的資料部分,回送給client。
使用get方法時,
請求引數和對應的值附加在url後面,利用乙個問號("?")代表url的結尾與請求引數的開始,傳遞引數長度受限制,例如: /index.jsp?id=100&op=bind
post:當client給伺服器提供資訊較多時, 使用post方法。post方法將請求引數封裝在http請求資料中,以key/value的形式出現,可以傳遞大量資料,可用來傳遞檔案
b、訊息頭部
請求頭部由key/value鍵值對組成,每行一對,key和value用冒號":"分隔,請求頭部通知伺服器有關於client端的請求資訊,典型的請求頭:
c、空行
最後乙個請求頭之後是乙個空行,傳送回車符和換行符,通知伺服器請求頭結束。
對於乙個完整的http請求來說空行是必須的,否則伺服器會任務本次請求的資料尚未完全傳送到server,處於等待狀態
d、請求正文
請求資料不在get方法中使用,而是在post中使用。post方法適用於需要client填寫表單的場合,與請求資料相關的最常用的請求頭是content-type 和content-length
http報文格式
請求 header param1 header value1 crlf 請求首部 可以使用通用首部,請求首部,實體首部,擴充套件首部 header param2 header value2 crlf header paramn header valuen crlf crlf request cont...
http報文格式
http使用統一資源識別符號 uri 來傳輸資料和建立連線。url 統一資源定位符 是一種特殊種類的uri,包含了用於查詢的資源的足夠的資訊,我們一般常用的就是url,而乙個完整的url包含下面幾部分 1.協議部分 該url的協議部分為http 表示網頁用的是http協議,後面的 為分隔符 2.網域...
HTTP協議報文格式
接下來我們看看http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套...