1. 程式人生 > >HTTP協議類

HTTP協議類

數據 特點 tro 連接 sci 長度 授權 正常 permanent

1、HTTP協議的主要特點:

簡單快速(統一資源符UII固定)

靈活(頭部有數據類型)

無連接(不會保持連接)

無狀態(服務端不能區分二次連接者身份)

2、HTTP報文的組成部分

請求報文:請求行 (http方法 頁面地址 協議 版本),請求頭(key:value),空行(請求頭的結束標誌),請求體

響應報文:狀態行 響應頭 空行 響應體

3、HTTP方法

GET : 獲取資源

POST:傳輸資源

HEAD:獲得報文頭部

PUT:更新資源 DELET:刪除資源 (這兩個不常用)

4、POST 和GET的區別(說出加粗部分即可)

  GET在瀏覽器回退是無害的,POST會再次請求

  GET產生的URL地址可以被收藏,POST不會

  GET請求會被瀏覽器主動緩存,而POST不會,除非手動設置

  GET請求只能進行URL編碼,而POST支持多種編碼方式

  GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中參數不會

  GET請求在URL中傳送的參數是有長度限制的(2kb),而POST沒有

  GET對參數的數據類型,GET只接受ASCII字符,而POST沒有限制

  GET比POST更不安全,因為參數直接暴露在URL上不能用來傳遞敏感信息

  GET參數通過URL傳遞,POST放在Request body中

5、HTTP狀態碼

1xx:提示信息——表示請求已接受,繼續處理

2xx:成功——表示請求已被成功接受

3xx:重定向——要完成請求必須更進一步操作

4xx:客戶端錯誤——請求有語法錯誤或請求無法實現

5xx:服務端錯誤——服務器未能實現合法請求

常見類型:

  200:ok 客戶端請求成功

  206:Parital Content 客戶發送了一個帶有Range頭的GET請求,服務器完成了它

  301:Moved Permanently 所請求的頁面已經轉移到新的url,永久重定向

  302 Found 所請求的頁面已經臨時轉移至新的url

  304 客戶端有緩沖的文檔並發出了一個請求,服務器告訴客戶,用來緩存的文檔還可以繼續使用

  400 客戶端請求有語法錯誤,不能被服務器理解

  401 請求未經授權,

  403 對被請求頁面的訪問被禁止

  404 請求資源不存在

  500 服務器發生不可預期的錯誤原來緩存的文檔可繼續使用

  503 請求未完成 服務器臨時過載或宕機,一段時間後可能恢復正常

6、持久連接

  (1)http協議采用“請求-應答”模式,當使用普通模式,即非keep-alive模式時,每個請求-應答客戶和服務器都要新建一個連接,完成之後立即斷開連接(http協議是無連接協議)

(2)當使用keep-alive(又稱持久連接,連接重用)時,keep-alive功能避免了簡歷或者重新建立連接

7、管線化

在使用持久連接的情況下,某個連接上消息的傳遞類似於:

請求1 ->響應1 ->請求2 ->響應2 ->請求3 ->響應3

管線化就是某個連接上的消息變成了類似這樣:

  請求1 ->請求2 ->請求3 ->響應1 ->響應2 ->響應3

特點:

  管線化機制通過持久連接完成,僅HTTP1.1支持此技術

  只有GET和HEAD請求可以進行管線化,而POST有所限制

  初次創建連接時,不應啟動管線機制,因為服務器不一定支持HTTP1.1協議

HTTP協議類