讀書筆記:《圖解HTTP》第二章 HTTP協議

原文地址
博客積累地址html

HTTP協議用途

HTTP協議用於客戶端和服務器端之間的通訊git

  • 客戶端:請求訪問文本或圖像等資源的一端
  • 服務器端: 提供資源響應的一端

在兩臺計算機之間,必有一端擔任客戶端角色,另外一端擔任服務器端角色,有時角色可能會互換,HTTP協議可以明確區分哪端是客戶端,哪端是服務器端github

經過請求和響應的交換達成通訊

由客戶端發出請求報文,服務器端回覆響應報文服務器

請求報文

請求報文的構成網絡

  • 請求方法
  • 請求URI(請求訪問的資源對象)
  • 請求首部字段【可選】
  • 內容實體【可選】

請求報文的構成

響應報文

響應報文的構成frontend

  • 協議版本
  • 狀態碼
  • 解釋狀態碼的緣由短語
  • 響應首部字段【可選】
  • 內容實體【可選】

響應報文的構成

注意:請求和響應報文的內容實體前都空一行性能

HTTP協議是無狀態協議

HTTP協議自身不具有保存以前發送過的請求和響應的功能測試

爲了解決一些須要保存狀態的業務場景(好比保存登陸狀態),HTTP/1.1引入了Cookie技術google

請求URI定位資源

HTTP協議使用URI讓客戶端定位到資源spa

客戶端發送請求時,須要將URI信息包含在請求報文內

https://www.google.cn/index.html爲例,指定URI的方式有如下兩種:

  • 完整的URI
GET https://www.google.cn/index.html HTTP/1/1
  • 在首部字段Host中寫明網絡域名或IP地址
GET /index.html HTTP/1/1
Host: www.google.cn

HTTP請求方法

HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。

HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

方法 描述
GET 【獲取資源】請求指定的頁面信息,並返回實體主體。
HEAD 【得到報文首部】相似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
POST 【傳輸實體主體】向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。
PUT 【傳輸文件】從客戶端向服務器傳送的數據取代指定的文檔的內容。
DELETE 【刪除文件】請求服務器刪除指定的頁面。
CONNECT 【要求用隧道協議鏈接代理】HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。
OPTIONS 【詢問支持的方法】容許客戶端查看服務器的性能。
TRACE 【追蹤路徑】回顯服務器收到的請求,主要用於測試或診斷。

持久鏈接和管線化

持久鏈接

當創建一個TCP鏈接後,能夠發送多個請求/響應。除非任意一端提出斷開鏈接,不然一直保持TCP鏈接狀態

管線化

管線化是指客戶端不用等待響應可直接發送下一個請求,這樣可以同時並行發送多個請求

相關文章
相關標籤/搜索