web app 禁用手機瀏覽器快取方法

2022-07-08 18:12:15 字數 2242 閱讀 3529

所以今天貼個方法解決這問題。記得,本地除錯的時候貼上,上線後要刪除哦,免得訪問者瀏覽體驗慢。

**:

把上面的**貼到head裡面即可。

順便貼個快取的資料:

1.概念

cache-control用於控制http快取(在http/1.0中可能部分沒實現,僅僅實現了pragma: no-cache)

資料報中的格式:

cache-control: cache-directive

cache-directive可以為以下:

request時用到:

| "no-cache"

| "no-store"

| "max-age" "=" delta-seconds

| "max-stale" [ "=" delta-seconds ]

| "min-fresh" "=" delta-seconds

| "no-transform"

| "only-if-cached"

| "cache-extension"

response時用到:

| "public"

| "private" [ "=" <"> field-name <"> ]

| "no-cache" [ "=" <"> field-name <"> ]

| "no-store"

| "no-transform"

| "must-revalidate"

| "proxy-revalidate"

| "max-age" "=" delta-seconds

| "s-maxage" "=" delta-seconds

| "cache-extension"

部分說明:

根據是否可快取分為

public 指示響應可被任何快取區快取。

private 指示對於單個使用者的整個或部分響應訊息,不能被共享快取處理。這允許伺服器僅僅描述當使用者的

部分響應訊息,此響應訊息對於其他使用者的請求無效。

no-cache 指示請求或響應訊息不能快取(http/1.0用pragma的no-cache替換)

根據什麼能被快取

no-store 用於防止重要的資訊被無意的發布。在請求訊息中傳送將使得請求和響應訊息都不使用快取。

根據快取超時

max-age 指示客戶機可以接收生存期不大於指定時間(以秒為單位)的響應。

min-fresh 指示客戶機可以接收響應時間小於當前時間加上指定時間的響應。

max-stale 指示客戶機可以接收超出超時期間的響應訊息。如果指定max-stale訊息的值,那麼客戶機可以

接收超出超時期指定值之內的響應訊息。expires表示存在時間,允許客戶端在這個時間之前不去檢查(發請求),等同max-age的

效果。但是如果同時存在,則被cache-control的max-age覆蓋。

格式:expires = "expires" ":" http-date

例如expires: thu, 01 dec 1994 16:00:00 gmt (必須是gmt格式)

2.應用

通過http的meta設定expires和cache-control

上述設定僅為舉例,實際使用其一即可。這樣寫的話僅對該網頁有效,對網頁中的或其他請求無效,並不會做任何cache。

這樣客戶端的請求就多了,儘管只是檢查last-modified狀態的東西,但是請求一多對瀏覽速度必定有影響。

如果要對檔案新增cache可以通過apache的mod_expire模組,寫法為

expiresactive on

expiresdefault "access plus 1 days"

記得expiresactive設為on,我起先沒設定on,似乎怎樣yslow都查不到快取機制。這樣新增的話就是預設所有的。

如果要針對個別mime型別則可以:

expiresbytype image/gif "access plus 5 hours 3 minutes"

見 apache module mod_expires

另外,當點選瀏覽器上的重新整理,客戶端傳送的請求中均是max-age=0,表示validate操作,傳送請求到伺服器

要求檢查cache,再更新cache,一般得到的是304 not modified,表示沒變動。

禁用瀏覽器快取

控制瀏覽器禁止快取當前文件內容 1.為什麼禁止使用快取.我們向伺服器傳送請求,第一次響應回來時會帶乙個last modify值,它代表的是資源最後被修改的時間。在以後訪問時,會在請求中帶乙個if modify since值,伺服器得到這個值,會與資源最後修改時間做比較,如果 時間相同,就不會返回資源...

使用 meta 禁用瀏覽器快取

乙個最簡單的支援大部分主流瀏覽器的 headers 集如下 cache control no cache,no store,must revalidate pragma no cache expires 0http1.1中啟用cache control 來控制頁面的快取與否,這裡介紹幾個常用的引數 ...

chrome除錯如何禁用瀏覽器快取

遇到過很多很多次,修改了頁面 但是程式始終沒有按照設想的方向走,有時候折騰了幾個小時,發現問題最後卻是莫名其妙恢復的。後來進一步除錯發現,自己已經修改了如js 但是前端在載入頁面時仍然還是修改之前的 這種類似的問題在我這些日子消費了太多不必要的時間了,心塞又心痛!知道大概是快取的問題,於是我嘗試了所...