解決問題
適用于實時更新數(shù)據(jù)的,網(wǎng)頁
可以讓用戶每次都是重新請求,新的index.html
防止過期文件,影響用戶體驗
有時候更新了js 文件 ,但是用戶的瀏覽器則不會立即更新js文件的緩存
從而造成用戶體驗不佳
優(yōu)點,每次都能打開最新的頁面
缺點 ,會增加服務(wù)器負荷
方法
要在 Nginx 中禁用緩存,你需要在相關(guān)的 location 配置中添加禁用緩存的指令。通常你可以使用 Cache-Control 和 Pragma 頭來達到這個目的。
以下是如何在 Nginx 中禁用緩存的示例配置:
server {
# ... 其他配置 ...
location / {
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
add_header Expires "0";
# ... 其他配置 ...
}
}
說明
在這個示例中,我們在根路徑的 location 配置中添加了三個頭信息:
Cache-Control: no-cache - 表示不緩存
Cache-Control: no-store - 表示不存儲緩存
Cache-Control: must-revalidate - 表示客戶端必須驗證資源是否過期
Pragma 頭通常用于向舊版本的 HTTP/1.0 客戶端發(fā)送指令。添加 “no-cache” 值會防止緩存文件。
Expires 頭的值設(shè)置為 “0” 表示資源已經(jīng)過期。
通過這些配置,Nginx 會指示瀏覽器不要緩存這些文件,而是每次都向服務(wù)器發(fā)起請求獲取最新的內(nèi)容。完成配置后,記得重新加載 Nginx 以使配置生效。
希望對大家有所幫助
測試
準備一個環(huán)境
html環(huán)境
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>寫入句子示例</title>
</head>
<body>
<div id="sentence"></div>
<!-- 這里引入了一個js 文件 -->
<script src='./index.js'></script>
</body>
</html>
js
document.getElementById("sentence").innerHTML = "這是一句話。";
環(huán)境
實驗瀏覽器 谷歌
第一步
配置好js 之后
打開頁面
可以看到 js 已經(jīng)生效了
然后修改內(nèi)容 打開帶有js緩存的頁面
再這里對js 文件進行修改
如果時間短的話則不會重新加載index.js
文件
所以這里沒有刷新
強制刷新
當我使用 強制刷新或者清理緩存之后 再打開 就已經(jīng)修改了
配置nginx 每次打開頁面都會重新請求index.js 文件
在域名 的nginx配置文件中添加如下代碼即可
重啟nginx
# 檢查nginx 配置是否正常
nginx -t
# 重啟nginx
nginx -s reload
再次修改index.js
可以看到 訪問到的就是我們修改的內(nèi)容沒有重新請求
再次修改
也是請求了新的js 沒有使用緩存js
總結(jié)
修改之前 需要全局刷新,才會重新請求index.js 文件
修改之后,不用全局刷新 ,就可以重新請求到最新的 index.js
設(shè)置為全局
http {
# ... 其他配置 ...
map $http_host $cache_control_header {
default "no-cache, no-store, must-revalidate";
}
map $http_host $pragma_header {
default "no-cache";
}
map $http_host $expires_header {
default "0";
}
server {
# ... 其他配置 ...
location / {
add_header Cache-Control $cache_control_header;
add_header Pragma $pragma_header;
add_header Expires $expires_header;
# ... 其他配置 ...
}
}
# ... 可能還有其他 server 塊 ...
}
文章來源:http://www.zghlxwxcb.cn/news/detail-844470.html
本章完結(jié)文章來源地址http://www.zghlxwxcb.cn/news/detail-844470.html
到了這里,關(guān)于nginx 配置瀏覽器不緩存文件 每次都會從服務(wù)器 請求新的文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!