基礎知識4--HTTP協議

HTTP協議
1.HTTP協議的主要特點
2.HTTP報文的組成部分
3.HTTP方法
4.POST和GET的區別
5.HTTP狀態碼
6.什么是持久連接
7.什么是管線化
https://segmentfault.com/a/1190000007033157

HTTP協議的主要特點
  • 簡單快速
  • 靈活
  • 無連接(連一次就會斷,不會保持連接)
  • 無狀態(客戶端和服務端,兩種服務端不能區分兩次連接者的身份)
HTTP報文的組成部分
Paste_Image.png
  • 請求報文
    • 請求行--->包含http方法,頁面地址,http協議以及版本
    • 請求頭--->key,value告訴服務端要什么
    • 空行------>告訴服務端往下解析
    • 請求體
20171012171754.png
  • 響應報文
    • 狀態行
    • 響應頭
    • 空行
    • 響應體
Paste_Image.png
HTTP方法

1.GET---------->獲取資源
2.POST-------->傳輸資源
3.PUT---------->更新資源
4.DELETE---->刪除資源(用的少)
5.HEAD-------->獲得報文首部

POST和GET的區別

1.GET在瀏覽器回退時是無害的,而POST會再次提交申請
2.GET產生的URL地址可以被收藏,而POST不行
3.GET請求會被瀏覽器主動緩存,而POST不會,除非手動設置
4.GET請求參數會被完整保留在瀏覽器歷史記錄中,而POST參數不會被保留
5.GET請求在URL中傳送的參數是有長度限制的,而POST沒有
6.GET參數通過URL傳遞,POST放在Request body中
7.GET只接受ASCII字符,POST無限制
8.GET比POST更不安全,因為參數直接暴露在URL中,所有不能用來傳遞敏感信息。

HTTP狀態碼

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

  • 常見的狀態碼
    200 ok---------------客服端請求成功
    206 Partial Content------客戶發送一個帶有Range頭的GET請求,服務器完成了它
    301 Moved Permanently-------所請求的頁面已經轉移至新的URL
    302 Found---------所請求的頁面已經臨時轉移至新的URL
    304 Not Modified-------客服端有緩存的文檔并發出了一個條件性的請求,服務器告訴客服,原來緩存的文檔還可以繼續使用
    400 Bad Request -----客戶端請求有語法錯誤,不能被服務器理解
    401 Unauthorized -----請求未經授權,這個狀態碼必須和www-Authenticate報頭域一起使用
    403 Forbidden---------對頁面的訪問被禁止
    404 Not Found------請求資源不存在
    500 Internal Server Error ---------服務器發生不可預期的錯誤,原來緩存的文檔還可以繼續使用
    503 Server Unaviailable-------請求完成,服務器臨時掛載或單機,一段時間后才可能恢復正常
什么是持久連接
  • http1.1版本支持持久連接


    Paste_Image.png
什么是管線化
Paste_Image.png
Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容