JavaWeb學習筆記(三)——Http協議
一、HTTP基本簡介
1、http:超文字傳輸協議,是一個TCP/IP層的應用協議,版本有1.0和1.1
2.http1.0和http1.1的區別:
http1.0:與伺服器連線後,只能獲取一個web資源;
http1.1:與伺服器連線後,能獲取多個Web資源。
二、HTTP請求
一個完整的HTTP請求包括:一個請求行、若干訊息頭以及實體內容
1、請求方式
請求方式有get、post、head、put、options、delete、trace,常用的是get、post
get和post的區別主要表現在資料傳遞上
get方式是在URL地址後以?的形式帶上交給伺服器的資料,多個數據之間以&進行分割,URL地址後附帶的引數有限
post可以在請求的實體內容中向伺服器傳送資料,傳送的資料量無限制
2、訊息頭
HTTP請求中的常用訊息頭
accept:瀏覽器通過這個頭告訴伺服器,它所支援的資料型別
Accept-Charset: 瀏覽器通過這個頭告訴伺服器,它支援哪種字符集
Accept-Encoding:瀏覽器通過這個頭告訴伺服器,支援的壓縮格式
Accept-Language:瀏覽器通過這個頭告訴伺服器,它的語言環境
Host:瀏覽器通過這個頭告訴伺服器,想訪問哪臺主機
If-Modified-Since: 瀏覽器通過這個頭告訴伺服器,快取資料的時間
Referer:瀏覽器通過這個頭告訴伺服器,客戶機是哪個頁面來的 防盜鏈
Connection:瀏覽器通過這個頭告訴伺服器,請求完後是斷開連結還是何持連結
三、HTTP響應
一個HTTP響應代表伺服器向客戶端回送的資料,包括一個狀態行、若干訊息頭以及實體內容
1、http響應的細節——狀態行
一般是HTTP版本號 狀態號 原因敘述
狀態碼用於表示伺服器對於請求的處理結果
100-199:表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程
200-299:表示成功接收請求並已完成,常用200
300-399:為完成請求,客戶需進一步細化請求。例如,請求的資源已經移動一個新地址,常用302/307和304
400-499:客戶端的請求有錯誤,常用404
500-599:伺服器端出現錯誤,常用500
2、HTTP響應細節——常用響應頭
Location: 伺服器通過這個頭,來告訴瀏覽器跳到哪裡
Server:伺服器通過這個頭,告訴瀏覽器伺服器的型號
Content-Encoding:伺服器通過這個頭,告訴瀏覽器,資料的壓縮格式
Content-Length: 伺服器通過這個頭,告訴瀏覽器回送資料的長度
Content-Language: 伺服器通過這個頭,告訴瀏覽器語言環境
Content-Type:伺服器通過這個頭,告訴瀏覽器回送資料的型別
Refresh:伺服器通過這個頭,告訴瀏覽器定時重新整理
Content-Disposition: 伺服器通過這個頭,告訴瀏覽器以下載方式打資料
Transfer-Encoding:伺服器通過這個頭,告訴瀏覽器資料是以分塊方式回送的
Expires: -1 控制瀏覽器不要快取
Cache-Control: no-cache
Pragma: no-cache
四、在伺服器端設定響應頭來控制客戶端瀏覽器的行為
1、設定location響應頭,實現請求重定向
2、設定Content-Encoding響應頭,告訴瀏覽器資料的壓縮格式
3、設定content-type響應頭,指定回送資料型別
4、設定refresh響應頭,讓瀏覽器定時重新整理
5、設定content-disposition響應頭,讓瀏覽器下載檔案