筆記分享:網絡基礎之HTTP簡介

注:圖片均來自網絡

超文本傳輸協議HTTP主要特點

  • 支持客戶/服務器模式
  • 簡單快速
    • 程序規模小,通信速度快
  • 靈活
    • 允許傳輸任意類型的數據對象
  • 無連接
    • 每次連接,只處理一個請求,節省傳輸時間
  • 無狀態
    • 協議對於事物處理沒有記憶

 

HTTP請求結構:

 

HTTP響應結構:

 

請求/響應的步驟:

  • 客戶端連接到Web服務器
  • 發送HTTP請求
  • 服務器接收請求並返回HTTP響應
  • 釋放連接TCO連接
  • 客戶端瀏覽器解析HTML內容

 

在瀏覽器地址欄鍵入URL,按下回車之後經歷的流程:

  • DNS解析域名地址,獲取對應的IP地址
    • 從本地DNS緩存或者DNS服務器中獲取域名的解析
    • 解析域名地址,獲取對應的IP地址
  • TCP連接
    • 三次握手
  • 發送HTTP請求
  • 服務器處理請求並返回HTTP報文
  • 瀏覽器解析渲染頁面
  • 連接結束
    • 四次揮手

HTTP狀態碼:

1xx:指示信息--表示請求已接受

2xx:成功--表示請求已被成功接收、理解、接受

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

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

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

常見狀態碼:

200 OK:正常的返回信息。

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

401 Unauthorized:請求未經授權,這個狀態碼必須和WWW-Authenticate報頭域一起使用。

403 Forbidden:服務器收到請求,但是拒絕提供服務。

404 Not Found:請求資源不存在,eg,輸入了錯誤的URL。

405 Method not Allowed:請求行中指定的請求方法不能被用於請求相應的資源。

500 Internal Server Error:服務器發生不可預期的錯誤。

503 Server Unavailavle:服務器當前不能處理客戶端的請求,一段時間後可能恢復正常。

 

GET請求和POST請求的區別:

從三個層面來解答

  • Http報文層面:GET將請求信息放在URL後面,POST放在報文體中。
    • 普通的HTTP都是採用明文傳輸的,POST請求也一樣
  • 數據庫層面:GET符合冪等性和安全性,POST不符合。
    • 冪等性表示對數據庫的一次操作或多次操作,對數據結果是無影響的。
    • 安全性表示不會對數據庫進行修改,因此符合安全性。
    • PUT請求符合冪等性,因爲不會添加新的數據
  • 其他層面:GET可以被緩存、被存儲,而POST不行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章