HTTP協議講解

計算機與網絡設備要相互通信,雙方就必須基于相同的方法。比如,如何結束通信等規則都需要事先確定。不同的硬件、操作系統之間的通信,所有的這一切都需要一種規則。而我們就把這種規則稱之為協議

例如:HTTP舉例。

  1. 首先作為發送端的客戶端在應用層(HTTP協議)發出一個想要看某個web頁面的HTTP請求。

  2. 接著,為了傳輸方便,在傳輸層(TCP協議)把從應用層處收到的數據(HTTP請求報文)進行分割,并在各個報文上打上標記序號及端口號后轉發給網絡層。

  3. 在網絡層(IP協議),增加作為通信目的地的MAC地址后轉發給鏈路層。

有關協議

與HTTP關系密切的協議:IP、TCP和DNS

上述協議簡單作用
  1. IP網際協議位于網絡層。把各種數據包傳送到對方。
  2. TCP協議位于傳輸層,提供可靠地字節流服務。為了準確無誤地將數據送到目的地。
  3. DNS服務位于應用層,提供域名到IP地址之間的解析服務。

HTTP協議是一種無狀態協議,它不會對發送來的請求和響應都不會持久化處理。隨著web的發展需要保存用戶的狀態。于是就引入了Cookie技術。通過Cookie保存管理狀態。

Cookie技術通過請求和響應保溫中寫入Cookie信息來控制客戶端的狀態。

Cookie會根據從服務端發送的響應報文內的一個叫做Set-Cookie的首部字段信息,通知客戶端保存Cookie。當下次客戶端再往該服務器發送請求時,客戶端會自動在請求報文中加上Cookie值后發送出去。

服務器端發現客戶端發送過來的Cookie后,會去檢查究竟是從哪一個客戶端發來的連接請求,然后對比服務器上的記錄,最后得到之前的狀態信息。

HTTP的方法

  • GET:獲取資源

    GET方法用于請求訪問已被URI識別的資源。指定的資源經服務器端解析后返回響應內容。當然GET方法也可以傳輸實體的主體,但是一般不用GET方法進行傳輸。.POST的安全性要比GET的安全性高,雖然URL的長度沒有限制,但是有的瀏覽器會對URL的長度限制。

  • POST:傳輸實體主體

    傳輸實體的主體

  • PUT:傳輸文件

    無驗證機制,上傳文件。

  • HEAD:獲取報文首部

    不返回報文主體部分。用于確認URI的有效性以及資源更新的日期時間。

  • DELETE:刪除文件

    無驗證機制,刪除文件。

  • OPTIONS:詢問支持的方法

    查詢針對請求URI指定的資源支持的方法

  • TRACE:追蹤路徑

    TRACE方法是讓Web服務器端將之前的請求通信回環給客戶端的方法。

  • CONNECT:要求隧道協議連接代理

    CONNECT方法要求在與代理服務器通信時建立隧道,實現用隧道協議進行TCP通信。

HTTP支持的方法

HTTP狀態碼

類別 原因短語
1XX Informational(信息性狀態碼 接收的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 需要進行附加操作以完成請求
4XX Client Error(客戶端錯誤狀態碼) 服務器無法處理請求
5XX Server Error(服務器錯誤狀態碼) 服務器處理請求錯誤
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容