HTTP協議的深入解析

2021-09-23 17:23:07 字數 2777 閱讀 1768

http 協議是 hyper text transfer protocol(超文字傳輸協議)的縮寫,是用於從全球資訊網(www:world wide web )伺服器傳輸超文字到本地瀏覽器的傳送協議。

http 是乙個基於tcp / ip 通訊協議來傳遞資料(html 檔案, 檔案, 查詢結果等)的協議。

http 是乙個屬於應用層的物件導向的協議,由於其簡捷、快速的方式,適用於分布式超**資訊系統。它於2023年提出,經過幾年的使用與發展,得到不斷地完善和擴充套件。目前在 www 中使用的是 http/1.0 的第六版, http / 1.1 的規範化工作正在進行之中,而且 http-ng (next generation of http) 的建議已經提出。

http 協議工作於客戶端-服務端架構之上。瀏覽器作為 http 客戶端通過 url 向 http 服務端即 web 伺服器傳送所有請求。web伺服器根據接收到的請求後,向客戶端傳送響應資訊。

首先客戶機與伺服器需要建立連線。只要單擊某個超級鏈結,http 的工作開始

建立連線後,客戶機傳送乙個請求給伺服器,請求方式的格式為:統一資源識別符號(url)、協議版本號,後邊是 mime 資訊包括請求修飾符、客戶機資訊和可能的內容。

伺服器接到請求後,給予相應的響應資訊,其格式為乙個狀態行,包括資訊的協議版本號、乙個成功或錯誤的**,後邊是 mime 資訊包括伺服器資訊、實體資訊和可能的內容。

客戶端接收伺服器所返回的資訊通過瀏覽器顯示在使用者的顯示屏上,然後客戶機與伺服器斷開連線。

http 請求最初設定了八種方法,這八種方法本質上沒有任何區別。只是讓請求,更加有語義而已。

請求方式

描述get

請求獲取 request-uri 所標識的資源

post

在 request-uri 所標識的資源後附加新的資料

head

請求獲取由 request-uri 所標識的資源的響應訊息報頭

options

請求查詢伺服器的效能,或者查詢與資源相關的選項和需求

put請求伺服器儲存乙個資源,並用 request-uri 作為其標識

delete

請求伺服器刪除 request-uri 所標識的資源

trace

請求伺服器回送收到的請求資訊,主要用於測試或診斷

connect

http/1.1協議中預留給能夠將連線改為管道方式的**伺服器

http 請求由三部分組成,分別是:請求行、訊息報頭、請求正文

請求頭說明

accept

瀏覽器端可以接受的 mime 型別

accept-encoding

瀏覽器申明自己可接收的編碼方法

accept-language

瀏覽器申明自己接收的語言

accept-charset

瀏覽器可接受的字符集

authorization

授權資訊,用於表示 http 協議中需要認證資源的認證資訊

connection

告訴伺服器,請求完成後,是否保持連線

content-length

表示請求訊息正文的長度

content-type

cookie

由之前伺服器通過 set-cookie(見下文)設定的乙個 http 協議 cookie

host

初始url中的主機和埠

referer

包含乙個 url,使用者從該url代表的頁面出發訪問當前請求的頁面

user-agent

告訴 http 伺服器,客戶端使用的作業系統和瀏覽器的名稱和版本

date

告訴 http 伺服器,當前請求的時間

http 響應也是由三個部分組成,分別是:狀態行、訊息報頭、響應正文

響應頭說明

access-control-allow-origin

指定哪些**可以跨域源資源共享

accept-patch

指定伺服器所支援的文件補丁格式

accept-ranges

伺服器所支援的內容範圍

age從原始伺服器到**快取形成的估算時間(以秒計,非負)

allow

伺服器支援哪些請求方法(如get、post等)

cache-control

告訴所有的快取機制是否可以快取及哪種型別

content-encoding

響應資源所使用的編碼型別

content-language

響應體的語言

content-length

響應體的長度

content-location

請求資源可替代的備用的另一位址

content-range

在整個返回體中本部分的位元組位置

content-type

返回內容的 mime 型別,例如:content-type: text/html; charset=utf-8

content-location

請求資源可替代的備用的另一位址

refresh

用於重定向,或者當乙個新的資源被建立時。缺省會在5秒後重新整理重定向

server

web伺服器軟體名稱,例如 server:apache/1.3.27 (unix) (red-hat/linux)

status

通用閘道器介面的響應頭欄位,用來說明當前http連線的響應狀態,例如 status:200 ok

set-cookie

設定http cookie

date

此條訊息被傳送時的日期和時間(以rfc 7231中定義的"http日期"格式來表示)

HTTP 深入解析

1.cookie 儲存在客戶端 cookie 的類別 cookie 的屬性 了解 cookie 的應用場景 同源http請求 攜帶cookie 原生ajax請求方式 xhr.withcredentials true 支援跨域傳送cookies xhr.send jquery的ajax的post方法請...

HTTP協議解析

客戶端 通過傳送請求獲取伺服器資源的 web 瀏覽器等.http hypertext transfer protocol,超文字傳輸協議 url uniform12resource locator,統一資源定位符 tcp ip 網際網路相關的各類協議族的總稱 uri 統一資源識別符號,表示由某個協議...

HTTP協議解析

1 http協議是什麼 http協議是工作在應用層的一種知名的通訊協議 大佬程式設計師寫的 負責應用程式之間的資料溝通。http是乙個簡單的請求 響應協議,它通常執行在tcp之上。它指定了客戶端可能傳送給伺服器什麼樣的訊息以及得到什麼樣的響應。2 http協議的格式解析 首行 請求首行 請求方法 g...