第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于nginx的ETag的一些問題

關(guān)于nginx的ETag的一些問題

守著星空守著你 2018-07-23 23:13:14
關(guān)于nginx的Etag問題,nginx默認(rèn)是有Etag的,但是問題就在于:無論你對(duì)源代碼做了什么改動(dòng),比如說改動(dòng)了注釋,改動(dòng)了空行什么的,ETag都會(huì)變。(但實(shí)際上,比如我改動(dòng)了注釋,但是這個(gè)注釋可能對(duì)程序員很重要,對(duì)用戶來講是無所謂的,因此ETag是沒有必要變化的)而http權(quán)威指南中說Etag解決了這個(gè)問題:有些文檔可能被修改了,但所做修改并不重要,不需要讓世界范圍內(nèi)的緩存都重裝數(shù)據(jù)(比如對(duì)拼寫或注釋的修改)。而nginx默認(rèn)也加了前綴“W/”來標(biāo)識(shí)弱驗(yàn)證器那這樣的話ETag顯然沒有解決這個(gè)問題。由于筆者對(duì)nginx停留在僅供使用的階段,并沒有源碼查看和插件編寫的經(jīng)歷,所以想問:nginx有沒有辦法配置或者現(xiàn)成的插件或者自定義增加一些內(nèi)容,從而讓ETag并不是任意更改都變化,有一定的變通性?或者說 nginx有沒有辦法自定義ETag的生成規(guī)則?
查看完整描述

2 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

正確的做法就是不要依賴etag驗(yàn)證文件是否被修改。
如果你要處理靜態(tài)文件緩存的問題,應(yīng)該在網(wǎng)頁鏈接里加上特殊的請(qǐng)求參數(shù)好讓瀏覽器以為鏈接改變從而重新請(qǐng)求最新版文件

如果你想要修改注釋不引起etag變化,你應(yīng)該配置好前端自動(dòng)化流程,把生產(chǎn)環(huán)境運(yùn)行的代碼和開發(fā)的代碼分開,然后一鍵壓縮混淆去注釋代碼發(fā)布到生產(chǎn)環(huán)境


查看完整回答
反對(duì) 回復(fù) 2018-07-26
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

這個(gè)最好不要去 nginx 那里去控制,可以在自動(dòng)化構(gòu)建的時(shí)候控制。比如,webpack 打包的時(shí)候就把注釋都給去掉。另外也不要通過 ETag 來協(xié)商緩存,通過 webpack 設(shè)置 hash 來強(qiáng)制緩存。

補(bǔ)充:為什么不使用 Etag

  1. 你所列舉的這種情況

  2. 協(xié)商緩存需要 304 ,仍需要發(fā)一次請(qǐng)求

  3. 負(fù)載均衡時(shí),不同的物理機(jī)相同文件的 inode 不同,會(huì)生成不同的 ETag (未實(shí)測(cè))


查看完整回答
反對(duì) 回復(fù) 2018-07-26
  • 2 回答
  • 0 關(guān)注
  • 1822 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)