1. 程式人生 > >JavaWeb學習筆記(三)——Http協議

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響應頭,讓瀏覽器下載檔案