2015-11-07 31 views
2

我已經搜索了很多,但仍然無法找到解決方案,我使用nodejsexpress這是默認設置etag爲true,我嘗試了所有我在網上找到的解決方案,它仍然是集,示例:刪除Etag標題快遞

res.set('etag', false); 
res.removeHeader('ETag'); 
app.disable('etag'); 
app.use(express.static(__dirname + '/public'), { etag: false }); 

而且還設置了,所以,有我丟失的東西在這裏,因爲我真的不是在節點有經驗或表達。

我的問題很明顯是,如何禁用這個頭,因爲我有一個頁面有很多圖像(A LOT),並且它們都是靜態的,並且由於它發送請求來檢查而導致很多阻塞有效性並防止瀏覽器依賴cache-control,這大大增加了頁面加載時間。

感謝您的幫助

+0

我面臨同樣的問題。看起來,禁用etag不適用於靜態中間件。 – aleung

+0

@aleung我回答了我的問題,請檢查,我希望它可以幫助你 –

回答

0

這不是一個完整的答案,但我添加它以防萬一任何人面臨同樣的問題。

原來我缺少的是瀏覽器在第一次加載(包括頁面刷新)時強制執行緩存有效性檢查,這就是爲什麼我一直看到etag頭。

要正確測試標題是否被刪除,您必須瀏覽到該網址並選中不直接轉到該網址。

我希望這可以幫助別人,因爲它花了我一段時間才找到它