HTTP的原理和工作機制

2021-09-29 14:17:12 字數 1778 閱讀 4665

1.http是什麼?

直觀的:1.瀏覽器位址列輸入位址,開啟網頁。2.android中傳送網路請求,返回對應內容。

理論上:hypertext transfer protocol 超文字傳輸協議。超文字:在電腦中顯示的、含有可以指向其他文字的鏈結的文字。

2.http的工作方式。

瀏覽器通過http向伺服器傳送請求,伺服器返回響應,瀏覽器通過其渲染引擎,也就是核心,將伺服器返回的響應渲染到瀏覽器上。

這裡有兩個問題:1.瀏覽器是怎樣將url轉化成傳送給伺服器的請求的?2.請求和響應的格式分別是什麼呢?

http的工作方式

第乙個問題:url如何轉化成報文呢?

url轉化成報文

如上所示,http:是協議型別、是伺服器位址、users?gender=male是路徑path。

請求報文格式

上圖中詳細寫明了請求報文的格式,請求行中的path和body是給伺服器看的。path用來尋找是伺服器中的哪乙個表,body是要插入的資料。

響應報文格式

response status code

對結果做出型別化描述。

·1xx:臨時性訊息。100:分段發生請求時,伺服器接受到每段訊息時返回100,提醒客戶端可以繼續傳送了。101

·2xx:成功。

·3xx:重定向。

·4xx:客戶端錯誤。如:400:引數不對,伺服器無法理解該請求。401:未登入。等

·5xx:伺服器錯誤。

header

http訊息的元資料(metadata)

·host:伺服器的主機位址。並不用於定址,網路請求通過dns定址,在找到這個ip後,將host傳送給主機,因為這個ip位址下可能有多台主機。

· content-type / content-length:body 的型別 / 長度(位元組)

1. content-type :

2.transfer-encoding:chunked

表示 body 長度無法確定,content-length 不能使用

此時的傳輸body格式:

0(最後傳輸 0 表示內容結束)

目的:在服務端還未獲取到完整內容時,更快對客戶端做出響應,減少使用者等待

3.location

重定向的目標 url

4.user-agent

使用者**

5.range / accept-range

6.cookie / set-cookie

傳送 cookie / 設定 cookie

7.authorization

授權資訊

cache

1.cache 和 buffer的區別:

2.cache-control:

no-cache:伺服器告訴客戶端,可以快取,但每次使用快取時需要請求伺服器,看快取是否失效。

no-store:不許快取。

max-age:快取失效日期。

private / public: 中間節點是否要快取

3.last-modified:

快取最近更改的日期

rest

http的架構風格。對系統的一些要求和限制。

正確使用http

HTTP快取的工作原理和實現機制

流程如下圖所示 基於http協議的http快取是通過在請求頭和響應頭中設定相應的字段值來實現的。expires欄位的值為伺服器返回的快取資源的到期時間 絕對時間 即下一次請求時間小於服務端返回的到期時間,直接使用快取資料。expires是http 1.0的東西,現在瀏覽器預設使用http 1.1,所...

HTTP快取機制和原理

作為web開發,http 快取機制作為 web 效能優化的重要手段。這篇博文主要是,關於瀏覽器會對請求的靜態檔案進行快取,但是為什麼被快取,快取是怎樣生效的。http報文就是瀏覽器和伺服器間通訊時傳送及響應的資料塊。瀏覽器向伺服器請求資料,傳送請求 request 報文 伺服器向瀏覽器返回資料,返回...

Http 工作機制

用於傳輸超文字的協議,以前是 html 現在也包括 web api 的資料。最直觀的方式 位址列輸入位址,然後頁面就會顯示結果 上面這個位址看起來是乙個位址,但是瀏覽器拿到後會分為三塊進行處理,處理完成後如下所示 報文格式 request 其中第一行為 請求行 分別對應三個部分,第二行往下為 hea...