成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

終于有人把HTTP講的一清二楚了——緩存篇

存儲 存儲軟件
HTTP協議的緩存是通過6個報文頭完成的,通過兩層協商使web資源能夠不那么頻繁地在服務器與客戶端之間傳遞,從而節約了流量,提高瀏覽速度。以從客戶端到服務器的順序,第一層協商為Cache-Control與Expires;第二層協商為Last-Modified與Etag。

 概述

HTTP協議的緩存是通過6個報文頭完成的,通過兩層協商使web資源能夠不那么頻繁地在服務器與客戶端之間傳遞,從而節約了流量,提高瀏覽速度。以從客戶端到服務器的順序,第一層協商為Cache-Control與Expires;第二層協商為Last-Modified與Etag。

[[331402]]

相關的報文頭

Cache-Control

請求/響應報文頭,緩存控制字段,也就是用于給資源生命期,是http/1.1引入的屬性。Cache-Control的取值可細分為兩類,一類是對緩存有直接決定性的值,他們會導致后續的第二層協商被跳過,包括:no-store、public、private;另一類是類似Expires的值,只是規定了有效期,后續的第二層協商不受影響,包括no-cache、max-age=x、s-maxage=x。

Cache-Control的取值如下:

 

終于有人把HTTP講的一清二楚了——緩存篇

 

形如:

  1. Cache-Control:max-age=0 

Expires

響應報文頭,代表資源過期時間,由服務器返回提供,是http1.0的屬性,在與Cache-Control共存的情況下,優先級要低。Expires的功能基本與Cache-Control的max-age相似,但它是指定一個過期時間點,而Cache-Control的max-age是指定了過期前的秒數。

形如:

  1. Expires:Fri, 10 Apr 2020 16:30:04 GMT 

Last-Modified

響應報文頭,資源最新修改時間,由服務器告訴瀏覽器。

形如:

  1. Last-Modified:Mon, 23 Mar 2020 18:39:50 GMT 

If-Modified-Since

請求報文頭,與Last-Modified相對應,瀏覽器把服務器最后一次給的Last-Modified返回,服務器將以此進行對比,判斷資源是否需要更新。

形如:

  1. If-Modified-Since:Fri, 10 Apr 2020 14:45:24 GMT 

Etag

響應報文頭,資源內容唯一標識,由服務器告訴瀏覽器。

形如:

  1. Etag:58b66ccbe349d0d931df877c00d8101d037243dc 

If-None-Match

請求報文頭,與Etag相對應,瀏覽器把服務器最后一次給的Etag返回,服務器將以此進行對比,判斷資源是否需要更新。

形如:

  1. If-None-Match:58b66ccbe349d0d931df877c00d8101d037243dc 

協商流程

以下假定資源已經獲取過一次,并且運行在HTTP/1.1環境下,現在進行二次訪問。

流程圖如下:

 

終于有人把HTTP講的一清二楚了——緩存篇

 

說明:

  • 客戶端是有可能因為緩存原因不向服務器發起任何請求的,圖中200狀態(from cache)就是這種情況。
  • 服務器根據回傳的If-Modified-Since與Last-Modified比對,如果不同則說明這個文件修改過,需要更新。但在這種判斷精度是秒,如果是一秒內的改動,就需要進一步對比回傳的If-None-Match與ETag的值。
  • 服務器返回304的意思就是不需要重新獲取新資源,直接使用本地緩存即可。

緩存多久合適

生存時間(TTL)指令告訴瀏覽器應該緩存某個資源多久,即Cache-Control或Expires的值。找到給定資源的最佳TTL值并沒有完美的科學方法,只能憑經驗給出一些指導原則。

指導原則:

  • 純靜態內容,例如圖片或帶版本的數據,可以在客戶端永久緩存;
  • CSS/JS和個性化資源,緩存時間大約是會話(交互)平均時間的兩倍;
  • 其他類型資源取決于新數據對舊數據的容忍極限。

瀏覽器操作對HTTP緩存的影響

 

終于有人把HTTP講的一清二楚了——緩存篇

 

緩存改進方案

md5/hash緩存:通過不緩存html,為靜態文件添加MD5或者hash標識,解決瀏覽器無法跳過緩存過期時間主動感知文件變化的問題。

CDN緩存:CDN是構建在網絡之上的內容分發網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-05-11 09:28:54

開源項目網盤

2022-11-02 10:21:19

MIT健身

2019-04-08 12:14:59

Elasticsear程序員Lucene

2023-08-21 10:13:35

檢測AI

2021-06-13 12:03:46

SaaS軟件即服務

2021-10-09 00:02:04

DevOps敏捷開發

2022-03-27 20:32:28

Knative容器事件模型

2023-03-29 08:09:51

Spring@Service@Component

2020-07-29 09:21:34

Docker集群部署隔離環境

2020-11-30 08:34:44

大數據數據分析技術

2021-06-29 11:21:41

數據安全網絡安全黑客

2021-02-14 00:21:37

區塊鏈數字貨幣金融

2021-03-03 21:31:24

量化投資利潤

2022-04-22 11:26:55

數據管理架構

2022-01-05 18:27:44

數據挖掘工具

2022-04-12 18:29:41

元數據系統架構

2022-07-31 20:29:28

日志系統

2023-04-13 15:10:58

AI模型

2009-10-13 14:47:00

2022-05-01 22:09:27

數據模型大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区精品 | 日本黄色高清视频 | 国产第一页在线观看 | 在线国产中文字幕 | 成人免费毛片片v | 日韩精品一区二区三区 | 欧美猛交 | 亚洲高清在线观看 | 日本三级电影免费观看 | 国产精品地址 | 中文字幕一区二区三区四区五区 | 日韩中文字幕在线不卡 | 免费看一区二区三区 | 久久精品女人天堂av | 国产一区二区三区网站 | 黄色一级电影免费观看 | 国产在线精品一区二区三区 | 国产精品乱码一区二区三区 | 日韩在线 | 久久精品青青大伊人av | 久久中文一区二区 | 最新黄色毛片 | 四虎永久免费影院 | 国产免费福利在线 | 日日操网站| 亚洲精品国产第一综合99久久 | 久久国产精品-久久精品 | 自拍 亚洲 欧美 老师 丝袜 | 国产欧美日韩精品一区二区三区 | 国产精品永久免费观看 | 成人国产一区二区三区精品麻豆 | 亚洲热在线视频 | 男女啪啪网址 | 两性午夜视频 | 可以免费看的毛片 | 亚洲一区二区三区免费在线观看 | 久久久久久一区 | 天天操综合网站 | 亚洲精品二三区 | 日韩插插 | 国产精品久久久久久久久久妞妞 |