HTTP請求報文解剖
HTTP請求報文由3部分組成(
請求行+請求頭+請求體
下面是一個實際的請求報文:
①是請求方法,GET和POST是最常見的HTTP方法喘垂,除此以外還包括DELETE甜刻、HEAD、OPTIONS正勒、PUT得院、TRACE。不過章贞,當(dāng)前的大多數(shù)瀏覽器只支持GET和POST祥绞,Spring
3.0提供了一個HiddenHttpMethodFilter,允許你通過“_method”的表單參數(shù)指定這些特殊的HTTP方法(實際上還是通過POST提交表單)鸭限。服務(wù)端配置了HiddenHttpMethodFilter后就谜,Spring會根據(jù)_method參數(shù)指定的值模擬出相應(yīng)的HTTP方法,這樣里覆,就可以使用這些HTTP方法對處理方法進行映射了。
②為請求對應(yīng)的URL地址缆瓣,它和報文頭的Host屬性組成完整的請求URL喧枷,③是協(xié)議名稱及版本號。
④是HTTP的請求頭,報文頭包含若干個屬性隧甚,格式為“屬性名:屬性值”车荔,服務(wù)端據(jù)此獲取客戶端的信息。
⑤是請求體戚扳,它將一個頁面表單中的組件值通過param1=value1?m2=value2的鍵值對形式編碼成一個格式化串忧便,它承載多個請求參數(shù)的數(shù)據(jù)。不但報文體可以傳遞請求參數(shù)帽借,請求URL也可以通過類似于“/chapter15/user.html?
param1=value1?m2=value2”的方式傳遞請求參數(shù)珠增。
對照上面的請求報文,我們把它進一步分解砍艾,你可以看到一幅更詳細(xì)的結(jié)構(gòu)圖: