⑴ 高速緩存和F5是什麼意思
通過減少網路往返次數、加快網路請求速度,並利用瀏覽器和邊緣高速緩存來緩存靜態和動態內容,
F5
WebAccelerator可進一步改進用戶體驗。
⑵ 瀏覽器緩存(http緩存)
瀏覽器緩存有兩種:強制緩存和協商緩存
向瀏覽器緩存中查找請求結果,根據【緩存規則】決定是否使用該結果。
強制緩存失效後,攜帶緩存標識請求伺服器,伺服器根據緩存標識判斷是否使用緩存
當瀏覽器向伺服器發送請求的時候,伺服器會將緩存規則放入HTTP響應的報文的HTTP頭中和請求結果一起返回給瀏覽器(ps:下文說的時間點均為類似:Sat Aug 14 2021 11:01:52,秒級)
兩個欄位:Expires和Cache-Control,優先順序:Cache-Control > Expires,客戶端比較時間
Expires :HTTP/1.0,返回值為【到期時間點】,再次請求,客戶端的時間< Expires,直接用緩存(ps:客戶端與伺服器端時間可能存在誤差,出問題)
Cache-Control :HTTP/1.1,有以下欄位
Last-Modified / If-Modified-Since 和 Etag / If-None-Match,優先順序Etag > Last-Modified,伺服器比較時間
Last-Modified(服務端返回客戶端) / If-Modified-Since(客戶端傳入服務端) :兩個值相同,表示:資源文件在伺服器最後被修改的時間【時間點】。
Etag(服務端返回客戶端) / If-None-Match(客戶端傳入服務端) ,兩個值相同,為當前資源文件的一個唯一標識(由伺服器生成)
Etag什麼時候用
雅虎禁用了Etag:因為ETag的值和伺服器有關,那麼對於同樣的文件,可能下次請求的時候是發給不同的伺服器,結果也會重新發送數據,所以就會影響網頁載入速度,增加伺服器的壓力(但Last-Modified也與伺服器有關)
主要解決的問題:
瀏覽器的每個tab都是一個進程
兩個緩存的地方 from memory cache(內存緩存) 和 from disk cache(硬碟緩存) ,讀取順序為memory > disk
⑶ 網站項目怎麼阻止F5刷新產生的大量重復HTTP請求
首先從問題出發,客戶都會將項目刷死,那項目上線後,如何保證穩定。
1、你的靜態文件,js、CSS、圖片,考慮採用本地緩存處理;
2、後端,比如Ajax請求的數據、服務端從資料庫獲取的數據,看問題是在應用裡面(運算太復雜),還是在資料庫(SQL查詢不當),並考慮採用適當的緩存機制(Memcache、Redis、File)來處理;
從前端去限制用戶行為,不是解決問題的辦法。
先評估你的伺服器能承受多大量的並發訪問,有了這個數據做參考,超過這個數據量的測試,無論如何都會超出伺服器承受范圍,那需要考慮架構上的改變;還要考慮測試的目的,是壓力、白盒、黑盒、動態、兼容、安全測試。
⑷ CTRL+F5 和F5 兩種刷新有什麼區別
F5和CTRL+F5都可以實現頁面刷新的功能。其區別在於:
1、頁面刷新時,向伺服器發送的請求不同
F5觸發的HTTP請求的請求頭中通常包含了If-Modified-Since 或 If-None-Match欄位,或者兩者兼有;
CTRL+F5觸發的HTTP請求的請求頭中沒有上面的那兩個頭,卻有Pragma: no-cache 或 Cache-Control: no-cache 欄位,或者兩者兼有。
3、時間戳相同時,兩種方式的刷新方式不相同
時間戳相同時,也就是我們長按F5時,頁面只會刷新一次,而CTRL+F5會不斷去請求伺服器,刷新頁面。
⑸ http緩存之基本概念
1. 重要性
綜上所述,所以大家很有必要花時間來研究。
2. 困難之處
個人認為http緩存是比較枯燥的理論知識,尤其對於前端來講,更多在於理解概念,以及內部緩存機制,而沒有什麼實踐可以鞏固,或者說理論和現實脫軌。
瀏覽器會在請求資源之後,根據自己的緩存策略判斷是否對資源進行緩存,當再次請求相同的資源時,瀏覽器根據緩存策略判斷是通過本地緩存獲取資源,還是重新向伺服器發起請求。
這個 緩存策略 到底是什麼呢?
實際每個瀏覽器的緩存策略是有差異的,但大致受以下幾個因素的影響。
搜索關鍵字 禁止 html 緩存 ,很容易搜到以下答案:
但是,這是 Html 4.0 中的規范,在 Html 5.0 的規范中 http-equiv 已經不存在以上屬性值了。
而且代理伺服器並不會讀取以上meta標簽,不利於代理伺服器的緩存。
-- 引用自 stackoverflow
綜上所述, html meta 是一個不那麼可靠,並且已經過時的解決方案,所以不建議再繼續使用 。
基於 HTTP 協議的緩存策略,分為 強緩存 和 協商緩存 , 由 HTTP 協議的首部 (Headers) 信息決定。具體的操作設置需要伺服器配合,比如 Nginx 。所以相對來說都是後端在做此類事情,前端接觸的機會比較少。
如果開啟了強緩存,並且在過期時間之內,則瀏覽器不再發起請求,直接使用本地的緩存資源。
Expires 和 Cache-control 用於控制強制緩存。
Expires 是 HTTP 1.0 的特性。通過指定一個明確的時間點作為緩存資源的過期時間,客戶端會根據此時間點來判斷到底使用本地緩存,還是向伺服器重新請求資源。
優點: 在緩存過期時間內,減少客戶端的 HTTP 請求,不僅節省了客戶端處理時間,提高了 web 應用的執行速度,而且減少了伺服器負載,以及客戶端網路資源的消耗。
缺點:指定的過期時間以伺服器為准,但是客戶端進行過期時間判斷時是將 本地的時間 與 指定的過期時間點 進行對比。如果客戶端修改了本地時間,將會影響對緩存的判斷。
Cache-control 是HTTP1.1 新增的特性,以便更精準地控制緩存。此首部信息 具有最高的優先順序。
max-age 指定的是緩存的時間跨度,而非緩存失效的時間點。優先順序比 Expires 高。
如果需要使用協商緩存,需要 將 Cache-control 指定為 no-cache 或者 max-age 、Expires 均過期之後。
協商緩存:瀏覽器本地是有緩存的,但是要先發起請求,由伺服器判斷緩存是否過期。
Last-Modified / If-Modified-Since
last-Modified 是 HTTP 1.0 的特性,是伺服器端在響應請求時用來說明資源的最後修改時間。
缺點:
Etag / If-None-Match
Etag 是 HTTP 1.1 的特性,是伺服器為資源分配的字元串形式唯一性標識,作為響應首部返回給瀏覽器。
採用弱比較,內容沒變化,時間變化了,會認為是資源未變化。
瀏覽器之HTTP緩存的那些事
304和瀏覽器http緩存
瀏覽器緩存機制剖析
瀏覽器緩存機制介紹
技術研究 vue項目的性能優化之路
HTTP緩存控制小結
⑹ 瀏覽器緩存機制
有dns的地方,就有緩存。瀏覽器、操作系統、Local DNS、根域名伺服器,它們都會對DNS結果做一定程度的緩存。
DNS查詢過程如下:
首先搜索瀏覽器自身的DNS緩存,如果存在,則域名解析到此完成。
如果瀏覽器自身的緩存裡面沒有找到對應的條目,那麼會嘗試讀取操作系統的hosts文件看是否存在對應的映射關系,如果存在,則域名解析到此完成。
如果本地hosts文件不存在映射關系,則查找本地DNS伺服器(ISP伺服器,或者自己手動設置的DNS伺服器),如果存在,域名到此解析完成。
如果本地DNS伺服器還沒找到的話,它就會向根伺服器發出請求,進行遞歸查詢。
瀏覽器本地緩存失效後,瀏覽器會向CDN邊緣節點發起請求。類似瀏覽器緩存,CDN邊緣節點也存在著一套緩存機制。CDN邊緣節點緩存策略因服務商不同而不同,但一般都會遵循http標准協議,通過http響應頭中的
Cache-control: max-age 的欄位來設置CDN邊緣節點數據緩存時間。
當瀏覽器向CDN節點請求數據時,CDN節點會判斷緩存數據是否過期,若緩存數據並沒有過期,則直接將緩存數據返回給客戶端;否則,CDN節點就會向伺服器發出回源請求,從伺服器拉取最新數據,更新本地緩存,並將最新數據返回給客戶端。 CDN服務商一般會提供基於文件後綴、目錄多個維度來指定CDN緩存時間,為用戶提供更精細化的緩存管理。
CDN 優勢
CDN節點解決了跨運營商和跨地域訪問的問題,訪問延時大大降低。
大部分請求在CDN邊緣節點完成,CDN起到了分流作用,減輕了源伺服器的負載。
http請求報文(request)
請求行
請求方法 空格 URL 空格 協議版本 回車符 換行符
請求頭(通用信息頭、請求頭、實體頭)
頭部欄位名 冒號 值 回車鍵 換行符
...
頭部欄位名 冒號 值 回車鍵 換行符
空行
回車符 換行符
實體主體(只有post請求有)
主體
http響應報文(response)
狀態行
協議版本 空格 狀態碼 空格 狀態碼描述 回車符 換行符
響應頭部
頭部欄位名 冒號 值 回車符 換行符
...
頭部欄位名 冒號 值 回車符 換行符
空行
回車符 換行符
響應正文
正文
瀏覽器初次向伺服器發起請求後拿到請求結果,會根據響應報文中HTTP頭的緩存標識,決定是否緩存返回的結果,是則將請求結果和緩存標識存入瀏覽器緩存中
瀏覽器每次發起請求,都會現在瀏覽器緩存中查找該請求的結果以及緩存標識
瀏覽器 瀏覽器緩存 伺服器
——————第一次發起http請求——————>
<——沒有該請求的緩存結果和緩存標識————
——————————————發起http請求——————————————>
<——————————返回該請求結果和緩存規則————————————
——將請求結果和緩存標識存入瀏覽器緩存——>
強制緩存就是向瀏覽器緩存查找結果,並根據該結果的緩存規則來決定是否使用該緩存結果的過程
強制緩存的情況分為三種:
1、不存在該緩存結果和緩存標識,強制緩存失效,直接向伺服器發起請求
2、存在該緩存結果和緩存標識,但結果已經失效,強制緩存失效,使用協商緩存
3、存在該緩存結果和緩存標識,且該結果沒有失效,強制緩存生效,直接返回該結果
控制強制緩存的欄位:Expires,Cache-Control
Expires 是 HTTP/1.0 控制緩存的欄位,值為伺服器返回該請求的結果緩存時間
即再次發送請求是,客戶端時間 小於 Expires的值,直接使用緩存結果
Cache-Control 是HTTP/1.1的規則,主要用於控制網頁緩存,主要取值為:
public:所有的內容都緩存(客戶端和代理伺服器都可以緩存)
private:所有內容只有客戶端可以緩存(默認值)
no-cache:客戶端緩存內容,但是是否使用緩存則需要經過協商緩存來驗證決定
no-store:即不使用強制緩存,也不使用協商緩存
max-age=xxx:緩存內容將在xxx秒後失效
Expires 是一個絕對值
Cache-Control 中 max-age 是相對值,解決了 Expires時期 服務端與客戶端 可能出現時間差的問題
註:Expires和Cache-Control同時存在時,只有Cache-Control生效
協商緩存就是強制緩存失效後,瀏覽器攜帶緩存標識向伺服器發起請求,由伺服器根據緩存標識決定是否使用緩存的過程
協商緩存的兩種情況:
1、協商緩存生效,返回304,繼續使用緩存
過程:
瀏覽器 瀏覽器緩存 伺服器
————————發起http請求————————>
<——該請求的緩存結果失效,只返回緩存標識——
————————攜帶該資源的緩存標識,發起http請求————————>
<—————————————304,該資源無更新————————————
——————獲取該請求的緩存結果——————>
<——————返回該請求的緩存結果——————
2、協商緩存失敗,返回200和請求結果
過程:
瀏覽器 瀏覽器緩存 伺服器
————————發起http請求————————>
<——該請求的緩存結果失效,只返回緩存標識——
————————攜帶該資源的緩存標識,發起http請求————————>
<————————200,資源已更新,重新返回請求和結果———————
——將該請求結果和緩存標識存入瀏覽器緩存中—>
協商緩存的標識也是在響應報文的HTTP頭中和請求結果一起返回給瀏覽器的
控制協商緩存的欄位:
(1) Last-Modified/If-Modified-Since:Last-Modified是伺服器響應請求是,返回該資源文件在伺服器最後被修改的時間;If-Modified-Since再次發起請求時,攜帶上次返回的Last-Modified的值,伺服器將該欄位值與該資源最後修改時間對比,決定是否用緩存
(2)Etag/If-None-Match:Etag伺服器響應請求時,返回當前資源文件的一個唯一標識,由伺服器生成之;If-None-Match是再次發起請求時,攜帶上次返回的唯一標識Etag的值,伺服器收到後,將該欄位值與該資源在伺服器上的Etag對比,一致 則返回304,否則返回200
註:Etag/If-None-Match優先順序高於Last-Modified/If-Modified-Since,同時存在時只有Etag/If-None-Match生效
瀏覽器緩存分為:內存緩存 和 硬碟緩存
內存緩存特性:
(1)快速讀取:內存緩存會將編譯解析後的文件,存入該進程的內存中,便於下次運行時快速讀取
(2)時效性:一旦關閉進程,進程內存清空
硬碟緩存特性:
永久性:直接寫入硬碟文件中
復雜、緩慢:讀取緩存對該緩存存放的硬碟文件進行I/O操作,重新解析
from memory cache:使用內存中的緩存
from disk cache:使用硬碟中的緩存
瀏覽器讀取順序:memory ——> disk
瀏覽器將js和圖片等文件解析執行後直接存入內存緩存中,F5刷新頁面時,from memory cache(使用內存中的緩存)
css文件存入硬碟中,F5刷新頁面時,from disk cache(使用硬碟中的緩存)
參考文章
https://segmentfault.com/a/1190000017962411
https://www.cnblogs.com/chengxs/p/10396066.html
⑺ 如何有效利用瀏覽器本地緩存
資源在瀏覽器端的本地緩存可以通過Expires和Last-Modified返回頭信息進行有效控制。
1)Expires告訴瀏覽器在該指定過期時間前再次訪問同一URL時,直接從本地緩存讀取,無需再向伺服器發起http請求;
優點是:瀏覽器直接讀取緩存信息無需發起http請求。
缺點是:當用戶按F5或Ctl+F5刷新頁面時瀏覽器會再次發起http請求。
2)當伺服器返回設置了Last-Modified頭,下次發起同一URL的請求時,請求頭會自動包含If-Modified-Since頭信息,伺服器對靜態內容會根據該信息跟文件的最後修改時間做比較,如果最後修改時間不大於If-Modified-Since頭信息,則返回304。告訴瀏覽器請求內容未更新可直接使用本地緩存。(注意:只對靜態內容有效,如js/css/image/html等,不包括動態內容,如JSP)
優點:無論用戶行為如何都有效;
缺點:仍需向伺服器發起一次http請求;
對IE來說,本地緩存一般是在這個位置:
C:\Documents and Settings\<user name>\Local Settings\Temporary Internet Files
下面我用一個圖片緩存的例子來說明,如何結合這兩個參數來有效利用本地緩存,例子中圖片存儲在一個分布式文件系統,需要通過特定API才能獲取而非直接存儲在伺服器上靜態文件:
response.setContentType("image/jpeg");
response.setHeader("Cache-Control", "public");
response.setHeader("Pragma", "Pragma");
//本地緩存10分鍾過期
response.setDateHeader("Expires", System.currentTimeMillis()+10*60*1000);
//設置Last-Modified
response.setDateHeader("Last-Modified", System.currentTimeMillis());
//判斷請求中的If-Modified-Since頭信息
if(request.getHeader("If-Modified-Since") == null){
//首次訪問或者用戶按Ctl+F5,從文件系統重新讀取圖片
//...get file from dfs
} else {
//返回304,告訴瀏覽器使用本地緩存
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
這種做法的一個缺點就是假設用戶在第一次圖片下載過程中網路有異常,下載的照片不完整,那用戶在刷新,甚至重啟瀏覽器後還是無法獲取完整的照片,可能會影響極小部分用戶的體驗,雖然可以通過ctl+f5忽略Last-Modified或者清空緩存重新下載照片但是大部分普通用戶可能不了解這些技巧。
參考資料:
http://longrujun.name/index.php/2009/03/04/etag%E5%92%8Cexpires/
⑻ 認識HTTP----緩存篇
本文內容大多參考 《圖解HTTP》一書
所以講緩存為什麼要先扯代理伺服器?別急,讓我們看一下一個請求的簡單示意圖。
我們看到客戶端(用戶)發送了一個請求並不是直接發給源伺服器的而是經過了代理伺服器,然後經由代理伺服器再發送給源伺服器,響應也同樣遵循這個順序。
那麼代理伺服器在這中間擔任了什麼角色?
緩存是指代理伺服器或客戶端本地磁碟內保存的資源副本。利用緩存可減少對源伺服器的訪問,因此也就節省了通信流量和通信時間。
緩存伺服器是代理伺服器的一種,並歸類在緩存代理類型中。換句話說,當代理轉發從伺服器返回的響應時,代理伺服器將會保存一份資源的副本。
緩存伺服器的優勢在於利用緩存可避免多次從源伺服器轉發資源。因此客戶端可就近從緩存伺服器上獲取資源,而源伺服器也不必多次處理相同的請求了。
即便緩存伺服器和客戶端內有緩存,也不能每次都給我返回緩存吧,如果是這樣,源伺服器更新了我也不知道,因為我每次都是看緩存的資源。
為了解決這個問題,針對緩存設計了時效性的概念:
即使存在緩存,也會因為客戶端的要求、緩存的有效期等因素,向源伺服器確認資源的有效性。若判斷緩存失效,緩存伺服器將會再次從源伺服器上獲取「新」資源。
緩存不僅可以存在於緩存伺服器內,還可以存在客戶端瀏覽器中。以Internet Explorer 程序為例,把客戶端緩存稱為臨時網路文件(Temporary Internet File)。
瀏覽器緩存如果有效,就不必再向伺服器請求相同的資源了,可以直接從本地磁碟內讀取。
另外,和緩存伺服器相同的一點是,當判定緩存過期後,會向源伺服器確認資源的有效性。若判斷瀏覽器緩存失效,瀏覽器會再次請求新資源。
Pragma 是HTTP/1.1 之前版本的歷史遺留欄位,僅作為與HTTP/1.0的向後兼容而定義。
規范定義的形式唯一,如下所示。
Pragma: no-cache
該首部欄位屬於通用首部欄位,但只用在客戶端發送的請求中。客戶端會要求所有的中間伺服器不返回緩存的資源。
通過指定首部欄位Cache-Control 的指令,就能操作緩存的工作機制。
可用的指令按請求和響應分類如下所示:
public指令
Cache-Control: public
當指定使用public 指令時,則明確表明其他用戶也可利用緩存。
private指令
no-store指令
Cache-Control: no-store
當使用no-store 指令時,暗示請求(和對應的響應)或響應中包含機密信息。
因此,該指令規定緩存不能在本地存儲請求或響應的任一部分。
ps:從字面意思上很容易把no-cache誤解成為不緩存,但事實上no-cache代表不緩存過期的資源,緩存會向源伺服器進行有效期確認後處理資源,也許稱為do-not-serve-from-cache-without-revalidation更合適。no-store 才是真正地不進行緩存,請讀者注意區別理解。
s-maxage指令
Cache-Control: s-maxage=604800 //(單位:秒)
s-maxage 指令的功能和max-age 指令的功能相同, 它們的不同點是s-maxage 指令只適用於供多位用戶使用的公共緩存伺服器(這里指代理伺服器)。也就是說,對於向同一用戶重復返回響應的伺服器來說,這個指令沒有任何作用。
另外,當使用s-maxage 指令後,則直接忽略對Expires 首部欄位及max-age 指令的處理。
max-age指令
cache-extension token
Cache-Control: private, community="UCI"
通過 cache-extension 標記(token),可以擴展Cache-Control 首部欄位內的指令。
如上例,Cache-Control 首部欄位本身沒有community 這個指令。藉助extension tokens 實現了該指令的添加。如果緩存伺服器不能理community 這個新指令,就會直接忽略。因此,extension tokens 僅對能理解它的緩存伺服器來說是有意義的。
If-Unmodified-Since: Thu, 03 Jul 2012 00:00:00 GMT
首部欄位If-Unmodified-Since 和首部欄位If-Modified-Since 的作用相反。它的作用的是告知伺服器,指定的請求資源只有在欄位值內指定的日期時間之後,未發生更新的情況下,才能處理請求。如果在指定日期時間後發生了更新,則以狀態碼412 Precondition Failed 作為響應返回。
ps:Last-Modified 存在一定問題,如果在伺服器上,一個資源被修改了,但其實際內容根本沒發生改變,會因為Last-Modified時間匹配不上而返回了整個實體給客戶端(即使客戶端緩存里有個一模一樣的資源)。
首部欄位If-None-Match 屬於附帶條件之一。它和首部欄位If-Match 作用相反。用於指定If-None-Match 欄位值的實體標記(ETag)值與請求資源的ETag 不一致時,它就告知伺服器處理該請求。
在GET 或HEAD 方法中使用首部欄位If-None-Match 可獲取最新的資源。因此,這與使用首部欄位If-Modified-Since 時有些類似。
不與伺服器確認,而是直接使用瀏覽器緩存的內容。其中響應內容和之前的響應內容一模一樣,例如其中的Date時間是上一次響應的時間。
F5的作用和直接在URI輸入欄中輸入然後回車是不一樣的,F5會讓瀏覽器無論如何都發一個HTTP Request給Server,即使先前的響應中有Expires頭部。
Ctrl+F5要的是徹底的從Server拿一份新的資源過來,所以不光要發送HTTP request給Server,而且這個請求裡面連If-Modified-Since/If-None-Match都沒有,這樣就逼著Server不能返回304,而是把整個資源原原本本地返回一份,這樣,Ctrl+F5引發的傳輸時間變長了,自然網頁Refresh的也慢一些。
Cache-Control 是 HTTP1.1 才有的,不適用於 HTTP1.0,而 Expires 既適用於 HTTP1.0,也適用於 HTTP1.1,所以說在大多數情況下同時發送這兩個頭會是一個更好的選擇,當客戶端兩種頭都能解析的時候,會優先使用 Cache-Control。
二者都是通過某個標識值來請求資源, 如果伺服器端的資源沒有變化,則自動返回 HTTP 304 (Not Changed)狀態碼,內容為空,這樣就節省了傳輸數據量。當資源變化後則返回新資源。從而保證不向客戶端重復發出資源,也保證當伺服器有變化時,客戶端能夠得到最新的資源。
其中Last-Modified使用文件最後修改作為文件標識值,它無法處理文件一秒內多次修改的情況,而且只要文件修改了哪怕文件實質內容沒有修改,也會重新返回資源內容;ETag作為「被請求變數的實體值」,其完全可以解決Last-Modified頭部的問題,但是其計算過程需要耗費伺服器資源。
Expires和Cache-Control都有一個問題就是服務端的修改,如果還在緩存時效里,那麼客戶端是不會去請求服務端資源的(非刷新),這就存在一個資源版本不符的問題,而強制刷新一定會發起HTTP請求並返回資源內容,無論該內容在這段時間內是否修改過;而Last-Modified和Etag每次請求資源都會發起請求,哪怕是很久都不會有修改的資源,都至少有一次請求響應的消耗。
對於所有可緩存資源,指定一個Expires或Cache-Control max-age以及一個Last-Modified或ETag至關重要。同時使用前者和後者可以很好的相互適應。
前者不需要每次都發起一次請求來校驗資源時效性,後者保證當資源未出現修改的時候不需要重新發送該資源。而在用戶的不同刷新頁面行為中,二者的結合也能很好的利用HTTP緩存控制特性,無論是在地址欄輸入URI然後輸入回車進行訪問,還是點擊刷新按鈕,瀏覽器都能充分利用緩存內容,避免進行不必要的請求與數據傳輸。
做法很簡單,就是把可能會更新的資源以版本形式發布,常用的方法是在文件名或參數帶上一串md5或時間標記符:
可以看到上面的例子中有不同的做法,有的在URI後面加上了md5參數,有的將md5值作為文件名的一部分,有的將資源放在特性版本的目錄中。
那麼在文件沒有變動的時候,瀏覽器不用發起請求直接可以使用緩存文件;而在文件有變化的時候,由於文件版本號的變更,導致文件名變化,請求的url變了,自然文件就更新了。這樣能確保客戶端能及時從伺服器收取到新修改的文件。通過這樣的處理,增長了靜態資源,特別是圖片資源的緩存時間,避免該資源很快過期,客戶端頻繁向服務端發起資源請求,伺服器再返回304響應的情況(有Last-Modified/Etag)。
⑼ HTTP壓縮和F5是什麼意思
經常在講HTTP壓縮,到底HTTP壓縮是什麼意思?HTTP壓縮和F5指什麼意思呢?我查詢並整理了HTTP壓縮和F5的相關解釋如下:
HTTP壓縮:
鑒於互聯網上的寬頻有限,網路治理人員任何旨在加速接入速度的努力都是有價值的。其中的一個方法就是通過HTTP壓縮技術實現接入速度的加速,它通過減少在伺服器和客戶端之間傳輸的數據量,顯著地提高網站的性能。數據壓縮本身並不新鮮。但是,這種方法的特色在於對伺服器到客戶端之間的數據壓縮是實時的,很少有用戶知道這種方法。HTTP壓縮技術,無需客戶端配置,它是一種最為簡便的提高網路速度的方法。
-------------------------------------------------------
F5:
F5取名自龍卷風風力的最高等級,F5是應用交付網路(ADN)技術和解決方案領域全球領先廠商,輕松實現高性能應用交付,F5的解決方案包括:應用交付網路(ADN)、伺服器負載均衡、鏈路負載均衡、多站點負載均衡、WEB加速及應用安全、本地流量管理、災難備份、廣域網傳輸優化、SSL VPN、ISP互訪互通、遠程安全接入/訪問、文件存儲虛擬化、多鏈路接入、遠程安全訪問等等
⑽ https和http和F5建立連接
具體連接https和http的方法如下。
F5是刷新,相當於重新載入了該網站的http協議,並不能使自動跳轉https,自動跳轉https是需要配置的,一方面網站伺服器需要配置ssl證書,另一方面需要在伺服器端配置文件中配置自動跳轉https,可以通過景安網路幫助中心ssl常見問題中了解一下。安裝了SSL證書之後想要同時使用HTTP和https需要你打開80和443埠,如果以前的HTTP網站的流量比較好,建議可以做一個重定向從http跳轉到https,這樣可以不浪費以前積攢的流量。