前端面試 HTTP協議類、GET和POST區別

1.http協議特點

  • 簡單快速:URI 統一資源符是固定的
  • 靈活:
  • 無連接:連接一次就會斷開
  • 無狀態:客戶端、服務端兩種身份

2.請求報文

請求行(http 方法,頁面地址,請求方法)、請求頭(參數key:value)、空行、請求體

3.響應報文

狀態行、響應頭、空體、響應體

4.HTTP方法

  • GET -- 獲取資源
  • POST -- 傳輸資源
  • PUT -- 更新資源
  • DELETE -- 刪除資源
  • HEAD -- 獲取報文首部

5.HTTP get和post區別

  • GET在瀏覽器回退時無害,POST會再次請求
  • GET產生的URL地址可以被收藏,而POST不可以
  • GET請求會被瀏覽器主動緩存,而POST不會,除非手動設置
  • GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會
  • GET請求在URL中傳輸的參數是有長度限制的,而POST沒有
  • GET參數暴露在URL裏,沒有POST安全
  • GET參數 通過 URL傳遞,POST放在request body裏

6.HTTP狀態碼

  • 1xx:指示信息,表示請求已經接收,繼續處理
  • 2xx:成功,表示請求已經被成功接受
  • 3xx:重定向,要完成請求必須進行更進一步的操作
  • 4xx:客戶端錯誤,請求有語法錯誤或者請求無法實現
  • 5xx:服務器錯誤,服務器未能實現合法的請求

 

  • 200 OK:客戶端請求成功
  • 302 :重定向,所請求的頁面臨時轉移到新的url
  • 304: 客戶端有緩存的文檔併發出一個條件性的請求,服務端告訴用戶,原來緩存的文檔還可以繼續使用
  • 403: 請求的資源被禁止訪問
  • 404: 請求資源不存在
  • 500:服務器錯誤
  • 503: 服務器臨時過載或者當機

7.持久連接

僅HTTP1.1支持

HTTP使用“請求-應答”模式,每個請求,客戶端和服務器都會新建一個連接,完成後連接斷開

使用Keep-Alive(持久連接、連接重用)時,Keep-Alive會使客戶端和服務器的連接持續有效,當出現對服務器的後繼請求,避免重新建立連接

8.管線化

僅HTTP1.1支持,只有GET和HEAD請求能夠進行管線化,POST會有限制

持久連接情況下,請求一次響應一次

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

將請求打包發送

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章