日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何修復(fù)網(wǎng)站測(cè)速中的“指定緩存驗(yàn)證器”警告問(wèn)題

您是否在WordPress網(wǎng)站上的Pingdom、GTmetrix或Google PageSpeed Insights中看到“指定緩存驗(yàn)證器(Specify a Cache Validator)”警告?這是因?yàn)槿鄙貶TTP緩存標(biāo)頭,這些標(biāo)頭應(yīng)該包含在每個(gè)源服務(wù)器響應(yīng)中,因?yàn)樗鼈兌?strong>驗(yàn)證并設(shè)置了緩存的長(zhǎng)度。如果沒(méi)有找到標(biāo)頭,它每次都會(huì)為資源生成一個(gè)新的請(qǐng)求,這會(huì)增加服務(wù)器的負(fù)載。 使用緩存標(biāo)頭可確保 不必從服務(wù)器加載后續(xù)請(qǐng)求,從而為用戶節(jié)省帶寬并提高性能。

指定緩存驗(yàn)證器警告

Pingdom的警告指出:

以下資源缺少緩存驗(yàn)證器。未指定緩存驗(yàn)證器的資源無(wú)法有效刷新。指定Last-Modified或ETag標(biāo)頭以啟用以下資源的緩存驗(yàn)證。

按照有關(guān)如何解決“指定緩存驗(yàn)證”的警告下面的步驟。

修復(fù)“指定緩存驗(yàn)證器”警告

關(guān)于此警告需要注意的第一件事是,您只能針對(duì)服務(wù)器上的請(qǐng)求修復(fù)此問(wèn)題。如果您有3rd方請(qǐng)求,您會(huì)看到此內(nèi)容,則您無(wú)能為力,因?yàn)槟鸁o(wú)法控制他們的Web服務(wù)器。盡管隨時(shí)與他們分享這篇文章。請(qǐng)記住,使用Pingdom,您可能需要多次運(yùn)行測(cè)試。可能是第一次出現(xiàn)警告,第二次消失。當(dāng)您第一次運(yùn)行該工具時(shí),它會(huì)從服務(wù)器啟動(dòng)資產(chǎn)的緩存。

有四種不同類型的標(biāo)題可以以不同的方式用于修復(fù)此警告。這可能會(huì)讓人有點(diǎn)困惑,但我們將嘗試盡可能簡(jiǎn)單地解釋它。

驗(yàn)證緩存的標(biāo)頭

前兩個(gè)標(biāo)頭是last-modifiedETag。這些標(biāo)頭可幫助瀏覽器確定自上次請(qǐng)求以來(lái)該文件是否已更改。或者更確切地說(shuō),他們驗(yàn)證緩存。

1. 上次修改

最后修改標(biāo)頭通常自動(dòng)從服務(wù)器發(fā)送。這是一個(gè)您通常不需要手動(dòng)添加的標(biāo)題。發(fā)送它是為了查看自上次請(qǐng)求以來(lái)瀏覽器緩存中的文件是否已被修改。您可以在Pingdom中查看header請(qǐng)求或使用Chrome DevTools查看最后修改的header的值。

最后修改的標(biāo)題

2. ETag

ETag的頭也很類似Last-Modified頭。它還用于驗(yàn)證文件的緩存。如果您運(yùn)行的是Apache 2.4或更高版本,則ETag標(biāo)頭已使用FileETag指令自動(dòng)添加。就NGINX而言,自2016年以來(lái),ETag標(biāo)頭默認(rèn)啟用。

ETag標(biāo)頭

您可以使用以下代碼在NGINX中手動(dòng)啟用ETag標(biāo)頭。

etag on

決定緩存長(zhǎng)度的標(biāo)頭

接下來(lái)的兩個(gè)標(biāo)頭是Cache-ControlExpires。這些標(biāo)頭有助于確定文件在從服務(wù)器獲取新副本之前應(yīng)在緩存中保留多長(zhǎng)時(shí)間。請(qǐng)記住,要修復(fù)您在Pingdom或GTmetrix中看到的警告,您需要確保您有一個(gè)既可以驗(yàn)證緩存又可以確定緩存長(zhǎng)度的標(biāo)頭。

3. 緩存控制

Cache-Control是由不同指令組成的標(biāo)頭,允許您定義緩存的長(zhǎng)度。一些最常見的指令包括:

  • max-age:定義文件應(yīng)該被緩存的時(shí)間。
  • public: 允許任何緩存公開存儲(chǔ)響應(yīng)。
  • private:只能通過(guò)瀏覽器訪問(wèn)文件緩存。

緩存控制頭

在上面的示例中,我們可以看到資產(chǎn)正在使用max-age指令。604800秒等于7天的緩存。要在Apache中進(jìn)行配置,只需將以下代碼添加到您的 .htaccess 文件中。


Header set Cache-Control "max-age=604800, public"

要在NGINX中配置它,只需將以下代碼添加到您的配置文件中。所有NGINX配置文件都位于該/etc/nginx/目錄中。主要配置文件是/etc/nginx/nginx.conf.

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
 add_header Cache-Control "public";
}

要了解有關(guān)不同指令的更多信息,請(qǐng)查看這篇關(guān)于Cache-Control的深入文章  。

4. 過(guò)期

最后你有expires標(biāo)頭。根據(jù)這篇Google Developers文章,HTTP Caching : Cache-Control標(biāo)頭被定義為HTTP/1.1規(guī)范的一部分,并取代了以前用于定義響應(yīng)緩存策略的標(biāo)頭(在本例中為Expires標(biāo)頭)。所有現(xiàn)代瀏覽器都支持Cache-Control,因此這就是您所需要的。但是,如果您同時(shí)擁有兩者,則不會(huì)有任何傷害,但請(qǐng)記住,只會(huì)使用一個(gè)。Expires標(biāo)頭使用實(shí)際日期,而Cache-Control標(biāo)頭允許您指定到期前的時(shí)間量。

過(guò)期標(biāo)題

要在Apache中添加Expires標(biāo)頭,只需將以下代碼添加到您的 .htaccess文件中。

## EXPIRES HEADER CACHING ##
 
 ExpiresActive On
 ExpiresByType image/jpg "access 1 year"
 ExpiresByType image/jpeg "access 1 year"
 ExpiresByType image/gif "access 1 year"
 ExpiresByType image/png "access 1 year"
 ExpiresByType text/css "access 1 month"
 ExpiresByType application/pdf "access 1 month"
 ExpiresByType application/javascript "access 1 month"
 ExpiresByType application/x-javascript "access 1 month"
 ExpiresByType application/x-shockwave-flash "access 1 month"
 ExpiresByType image/x-icon "access 1 year"
 ExpiresDefault "access 7 days"
 
 ## EXPIRES HEADER CACHING ##

確保在諸如mod_rewrite、GZIP等內(nèi)容下方添加Expires標(biāo)頭塊。在文件底部是最安全的。

在.htaccess中添加過(guò)期標(biāo)頭

要在NGINX中添加Expires標(biāo)頭,只需將以下代碼添加到您的配置文件中。

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    expires 7d;
}

在NGINX上的很多情況下,Cache-Control標(biāo)頭和Expires標(biāo)頭只是一起使用,即使這在技術(shù)上不是必需的:

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    expires 7d;
    add_header Cache-Control "public";
}

大多數(shù)3rd方CDN提供商,例如KeyCDN和Cloudflare,也會(huì)在交付您的資產(chǎn)時(shí)自動(dòng)添加這些標(biāo)頭。如果您看到警告,則可能是您的主機(jī)運(yùn)行的軟件過(guò)時(shí)或服務(wù)器配置錯(cuò)誤。我們通常在共享主機(jī)上看到這種情況?;蛘撸赡苷谠O(shè)置自己的服務(wù)器,在這種情況下,可能尚未添加上述某些標(biāo)頭。

如果一切順利,并且您沒(méi)有任何未正確使用標(biāo)頭的3rd方請(qǐng)求,您應(yīng)該會(huì)使用Pingdom等網(wǎng)站速度測(cè)試工具(如下所示)看到您的分?jǐn)?shù)有所提高。

修復(fù)了指定緩存驗(yàn)證器警告


名稱欄目:如何修復(fù)網(wǎng)站測(cè)速中的“指定緩存驗(yàn)證器”警告問(wèn)題
文章位置:http://www.5511xx.com/article/dheodso.html