深入理解HTTP(一)

2021-07-11 14:16:26 字數 1015 閱讀 4140

採用http(無狀態短連線)來互動資料(應用層),可以達到處理大量使用者請求的要求

本質上是建立乙個socket連線,通過outputstream.write傳送到目標伺服器,通過inputstream.read來接受返回資料。

控制使用者瀏覽器的渲染行為和伺服器的執行該邏輯(如404狀態碼)

快取分為服務端側(server side,比如 nginx、apache)和客戶端側(client side,比如 web browser)。

服務端快取又分為 **伺服器快取 和 反向**伺服器快取(也叫閘道器快取,比如 nginx反向**、squid等),其實廣泛使用的 cdn 也是一種服務端快取,目的都是讓使用者的請求走」捷徑「,並且都是快取、檔案等靜態資源。

客戶端側快取一般指的是瀏覽器快取,目的就是加速各種靜態資源的訪問,想想現在的大型**,隨便乙個頁面都是一兩百個請求,每天 pv 都是億級別,如果沒有快取,使用者體驗會急劇下降、同時伺服器壓力和網路頻寬都面臨嚴重的考驗。

瀏覽器快取控制機制有兩種:html meta標籤 vs. http頭資訊

瀏覽器快取機制,其實主要就是http協議定義的快取機制(如: expires; cache-control等)。但是也有非http協議定義的快取機制,如使用html meta 標籤,web開發者可以在html頁面的節點中加入標籤,**如下:

上述**的作用是告訴瀏覽器當前頁面不被快取,每次訪問都需要去伺服器拉取。使用上很簡單,但只有部分瀏覽器可以支援,而且所有快取**伺服器都不支援,因為**不解析html內容本身。而廣泛應用的還是 http頭資訊 來控制快取。

參考:

深入理解http(一)

一 什麼是http協議?http協議是指hyper text transfer protocol 超文字傳輸協議 的縮寫。它用於資料從www伺服器傳輸到本地瀏覽器的傳送協議。http是一種應用層協議,包括請求和響應構成。http是一種無狀態的協議。所謂無狀態的協議就是指第一次連線和第二次連線沒有關係...

HTTP 協議深入理解(一)

在 聊聊 http 協議的知識點 中介紹了 http 協議主要負責服務端和客戶端的資料傳輸,資料傳輸主要分為 2 塊 一是請求資料,客戶端向服務端請求資料 二是響應資料 服務端向客戶端響應資料,然而請求和響應都是通過請求報文和響應報文來完成的。今天我將帶大家了解 http 協議請求報文和響應報文的組...

深入理解HTTP協議

當今最流行的http協議版本為http 1.1,本文內容均以此版本為準 一 報文 http協議的報文分為兩種,請求報文和響應報文 請求報文由4部分組成 1.起始行 2.請求頭 3.空行 4.請求體 響應報文也由4部分組成 1.起始行 2.響應頭 3.空行 4.響應體 其中起始行都是必須的,其他內容可...