http協議報文
1.請求報文(請求行/請求頭/請求數據/空行)
請求行
求方法字段、URL字段和HTTP協議版本
例如:GET /index.html HTTP/1.1
get方法將數據拼接在url后面,傳遞參數受限
請求方法:
GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT
請求頭(key value形式)
User-Agent:產生請求的瀏覽器類型。
Accept:客戶端可識別的內容類型列表。
Host:主機地址
請求數據
post方法中,會把數據以key value形式發送請求
空行
發送回車符和換行符,通知服務器以下不再有請求頭
2.響應報文(狀態行、消息報頭、響應正文)
狀態行
消息報頭
響應正文
例如請求數據:

1 GET/sample.jspHTTP/1.1
2 Accept:image/gif.image/jpeg,*/*
3 Accept-Language:zh-cn
4 Connection:Keep-Alive
5 Host:localhost
6 User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
7 Accept-Encoding:gzip,deflate
8
9 username=jinqiao&password=1234

第一行為http請求行,包含方法,URI 和http版本
2-7為請求頭,包含瀏覽器,主機,接受的編碼方式和壓縮方式
第8行表示一個空行 表示請求頭結束 這個空行是必須的
第9行是數據體,比如是需要查詢的信息。
http響應體由三部分組成:
http響應由三個部分組成分別是狀態行,響應頭,響應正文。
狀態行是由:HTTP-Version+Status-Code+Reason-Phrase
比如:HTTP/1.1 200 ok
分別表示http版本 + 狀態碼 + 狀態代碼的文本描述
狀態碼:
1xx
|
指示信息–表示請求已接收,繼續處理
|
2xx
|
成功–表示請求已被成功接收、理解、接受
|
3xx
|
重定向–要完成請求必須進行更進一步的操作。
|
4xx
|
客戶端錯誤–請求有語法錯誤或請求無法實現。
|
5xx
|
服務器端錯誤–服務器未能實現合法的請求。
|
響應頭:包含服務器類型,日期,長度,內容類型等
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:13:33 GMT
Content-Type:text/html
Last-Moified:Mon,6 Oct 2003 13:23:42 GMT
Content-Length:112
響應正文響應正文就是服務器返回的HTML頁面或者json數據