http協議理解5

2021-10-13 02:39:23 字數 2476 閱讀 9831

1.三次握手 建立連線

2.四次揮手 斷開連線

因為短連線每次都要三次握手,四次揮手 導致效率很低。所以就對乙個連線進行復用。

1. connection: keep-alive 表示支援長連線, 伺服器通常不會主動關閉長連線。

2. connection: close 客戶端請求關閉長連線

伺服器也可以設定一些值來管理長連線,如nginx, 可以設定keepalive_timeout 過一段時間沒有請求就關閉長連線

keepalive_request 請求超過一定數量就關閉此長連線

http的請求-應答模型導致的,由於沒有輕重緩急的優先順序,只能是最先發的請求被應答了,沒有被應答以前,其他的請求只能

排隊

對同乙個網域名稱發起多個長連線 協會規定是兩個,但是瀏覽器廠商併發數量都是6-8個。

但是對於現代化的網際網路,依然效能乏力,這個時候新的方案 『網域名稱分片』 技術就應運而生了:多開幾個網域名稱都指向同一臺伺服器

這樣請求數量就上去了

1. 301 永久重定向

2. 302 臨時重定向

3. 303 類似於302 ,但是會得到乙個get頁面,避免重複提交表單

4. 307 對應302,方法和實體不允許改變

5. 308 對應301,方法和實體不允許改變1. 資源不可用

2. 避免重複1. 效能損耗

2. 迴圈跳轉

cookie就是給http的無狀態增加記憶的。

1. 響應頭欄位 set-cookie 登陸以後 伺服器一般會種一下cookie給客戶端 可以設定多個cookie

2. 請求頭欄位 下次請求就會帶過去給服務端 來確認身份1. expires 2021-01-01

2. max-age 1000s後 單位是秒 瀏覽器有限讀取這個屬性

3. domain 網域名稱

4. path 路徑名

5. httponly 禁止前端訪問

6. samesite 防範跨站請求偽造

7. secure 只能通過https加密傳輸1. 身份識別

2. 廣告追蹤

快取是優化系統效能的重要手段,cdn的實現就是快取, cdn 只能快取靜態資源,一般來說動態資源請求使用cdn 也會非常快像上了高速公路一樣。

常見字段 cache-control的值

1. max-age=30 只能存30秒

2. no-store 不允許快取

3. no-cache 可以快取但是 每次使用必須去伺服器驗證校驗是否過期 是否有最新版本

4. must-revalidate 和no-cache 但是只要不過期就無須去伺服器校驗

客戶端也可以使用 cache-control這個頭字段向伺服器發起請求

cache-control 這個頭欄位只能到期後去伺服器驗證資源是否過期,一般做法需要 先發乙個head請求看看是否過期,過期再發get請求,這樣一來就很麻煩,

需要發兩個請求才能得到結果,成本太高了,所以 這裡就使用了新的頭部欄位去控制

1. 響應頭部字段 last-modified 最後修改時間 etag 資源元資訊編碼; 服務端先把資源資訊返回客戶端

2. 請求頭部字段 if-modified-since if-none-match(優先順序高) ;客戶段拿到資訊攜帶過去查詢, 返回304 表示可以直接用,否則返回最新資源

if-modified-since 對應 last-modified if-modified-since 是指只有伺服器上的資源 只有被修改過才會返回新的 否則返回304

if-none-match 對應 etag if-none-match 是指 如果伺服器的etag和這個相同,就返回304 否則就返回新的資源並且更新etag

計算機世界的任何問題都可以通過引入乙個中間層來解決。 **服務這個小天地裡可以做很多事情,為http帶來雙贏。

1. 負載均衡

2. 健康檢查

3. 安全防護

4. 加密解除安裝

5. 資料過濾

6. 內容快取

都是事實標準的字段 沒有具體規定的

1. via 沒經過乙個**節點 就要把**的資訊寫上去。 這個是看不到 被**人的真實資訊的

2. x-forwarded-for 為誰**, 最左邊就是被**人的ip

2. x-real-ip : 簡化版的 x-forwarded-for 只有被**人的ip

這也是乙個事實標準協議

the proxy protocol 有v1(明文)和v2(二進位制) 兩個版本

Http協議理解

http是hypertext transfer protocal 超文字傳輸協議 的簡寫,它是tcp ip協議集中的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程以及資料本身的格式。http 1.0是早期版本,當前版本是http 1.1,http ng處於試驗階段,是下一代的h...

理解HTTP協議

http協議,超文字傳輸協議hyper text transfer protocol的縮寫,用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的協議。它基於tcp ip通訊協議來傳輸資料 html檔案,查詢結果等 http協議屬於應用層。它允許傳輸任意型別的資料物件,正在傳輸的型別由content typ...

HTTP協議理解

http hyper text transfer protocol 超文字傳輸協議,是一種請求響應式協議,類似兩國會晤中需要遵守的規則。那麼,其中有什麼內容特點呢?http特點 1 支援客戶端 伺服器模式 瀏覽器也是一種客戶端 2 夠簡單,所以夠快速 3 夠靈活,傳輸什麼型別的資料都能適應 4 無狀...