HTTP請求報文解剖
HTTP請求報文由3部分組成(
請求行+請求頭+請求體
下面是一個實際的請求報文:
①是請求方法,GET和POST是最常見的HTTP方法,除此以外還包括DELETE、HEAD、OPTIONS、PUT、TRACE。不過,當前的大多數瀏覽器只支持GET和POST,Spring
3.0提供了一個HiddenHttpMethodFilter,允許你通過“_method”的表單參數指定這些特殊的HTTP方法(實際上還是通過POST提交表單)。服務端配置了HiddenHttpMethodFilter后,Spring會根據_method參數指定的值模擬出相應的HTTP方法,這樣,就可以使用這些HTTP方法對處理方法進行映射了。
②為請求對應的URL地址,它和報文頭的Host屬性組成完整的請求URL,③是協議名稱及版本號。
④是HTTP的請求頭,報文頭包含若干個屬性,格式為“屬性名:屬性值”,服務端據此獲取客戶端的信息。
⑤是請求體,它將一個頁面表單中的組件值通過param1=value1?m2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求參數的數據。不但報文體可以傳遞請求參數,請求URL也可以通過類似于“/chapter15/user.html?
param1=value1?m2=value2”的方式傳遞請求參數。
對照上面的請求報文,我們把它進一步分解,你可以看到一幅更詳細的結構圖: