javaweb基礎--HTTP協議

SadOnMyOwn發表於2016-03-27
                                                       HTTP請求
一個完整的http請求包括一個請求行、若干請求頭和實體內容。
請求行
在請求行中常用的請求方式有:GET和POST
預設情況下瀏覽器向伺服器傳送的都是get請求,使用者如果想把請求方式改為post,可以通過更改表單中
的提交方式實現。
GET和POST方式的區別:
如果請求方式是GET,則可以在請求的URL地址後以?的形式帶上交給伺服器的資料,多個資料之間以&進行分隔。
GET方式的特點:在URL地址後附帶的引數是有限制的,其資料容量通常不能超過1K。
如果請求方式為POST,則可以在請求的實體內容中向伺服器傳送資料。
POST方式的特點:傳送的資料量無限制。








HTTP請求的細節---請求頭


Accept:用於告訴伺服器,客戶機支援的資料型別。
Accept-Charset:用於告訴伺服器,客戶機採用的編碼
Accept-Encoding:用於告訴伺服器,客戶機支援的資料壓縮格式
Accept-Language:客戶機的語言環境
Host:客戶機通過這個頭告訴伺服器,想訪問的主機名
If-Modified-Since:客戶機通過這個頭告訴伺服器,資源的快取時間
Referer:客戶機通過這個頭告訴伺服器,它是從哪個資源來訪問伺服器的(防盜鏈)
User-Agent:客戶機通過這個頭告訴伺服器,客戶機的軟體環境
Cookie:客戶機通過這個頭可以向伺服器帶一點資料
Connection:請求完是保持連結還是關閉連結
Date:當前時間值










                                 HTTP響應
一個HTTP響應代表伺服器向客戶端回送的資料,包括:
一個狀態行、若干響應頭、以及訊息實體。
狀態行
格式:HTTP版本號  狀態碼    原因敘述<CRLF>
狀態碼用於表示伺服器對請求的處理結果,它是一個三位的十進位制數。如200表示正常連結;302表示訪問伺服器指定的另一資源(向其他伺服器);307或304表示訪問快取;404表示客戶端請求有誤,在伺服器中無該資源;403表示伺服器中有該資源,但客戶端無訪問許可權;500表示伺服器端出現錯誤。


HTTP請求中的常用響應頭
Location:這個頭配合302狀態碼使用,用於告訴客戶機找誰
Server:伺服器通過這個頭,告訴瀏覽器伺服器的型別
Content-Encoding:伺服器通過這個頭,告訴瀏覽器資料的壓縮格式
Content-Length:伺服器通過這個頭,告訴瀏覽器回送的資料長度
Content-Language:伺服器的語言環境
Content-Type:伺服器通過這個頭,告訴瀏覽器回送的資料型別
Last-Modified:伺服器通過這個頭,告訴瀏覽器放棄資源快取時間
Refresh:伺服器通過這個頭,告訴瀏覽器隔多長時間重新整理一次
Connent-Disposition:伺服器通過這個頭,告訴瀏覽器以下載方式開啟資料
Transfer-Encoding:伺服器通過這個頭,告訴瀏覽器資料的傳說格式
ETag:快取相關的頭
Expires:伺服器通過這個頭,告訴瀏覽器把回送的資源快取多長時間,-1或0,則不快取
Cache-Control:no-chche
Pragma:no-cache
伺服器通過以上兩個頭,也是控制瀏覽器不要快取資料
Connection:請求完是保持連結還是關閉連結
Date:當前時間值

相關文章