伊人av超碰伊人久久久,免费天堂无码成人av电影,成人麻豆亚洲综合无码精品,久久国产亚洲精品av香蕉

使用瀏覽器緩存

12月 22, 2015
PageSpeed Insights
130
本頁內(nèi)容

當(dāng)PageSpeed Insights檢測到您的服務(wù)器響應(yīng)不包含明確的緩存標頭或某些資源被指定只緩存一小段時間時,就會觸發(fā)此規(guī)則。

概覽

如果用戶會多次訪問您的網(wǎng)站,那么靜態(tài)資源的瀏覽器緩存可以節(jié)省用戶的時間。緩存標頭應(yīng)當(dāng)應(yīng)用到所有可緩存的靜態(tài)資源中,而不僅僅是應(yīng)用到一小部分靜態(tài)資源(例如,圖片)中??删彺娴馁Y源包括JS和CSS文件、圖像文件及其他二進制對象文件(媒體文件和PDF文件等)。通常情況下,HTML不是靜態(tài)資源,默認情況下不應(yīng)被視為可緩存資源。您應(yīng)考慮哪些緩存政策適用于您網(wǎng)站的HTML。

建議

為您的服務(wù)器啟用瀏覽器緩存。靜態(tài)資源應(yīng)該至少有一周的緩存有效期。廣告或小部件這類的第三方資源也應(yīng)該至少有一天的緩存有效期。對于所有可緩存資源,我們建議您進行以下設(shè)置:

  • Expires設(shè)為將來日期,至少為一周,最多為一年(我們傾向于設(shè)置Expires,而不設(shè)置Cache-Control: max-age,因為前者受支持的范圍更為廣泛)。請勿將其設(shè)為超過一年的將來日期,因為這樣就違反了RFC準則。
  • 如果您知道資源將具體在何時發(fā)生變化,則可以設(shè)置較短的過期日期。然而,如果您認為資源“可能將要發(fā)生變化”,但又不知道具體時間,則應(yīng)設(shè)置較長的過期日期,并使用網(wǎng)址指紋(如下所述)。

Expires和Cache-Control: max-age標頭

這些標頭用于指定相應(yīng)時間段,瀏覽器可在指定的這段時間內(nèi)使用已緩存的資源,而無需查看網(wǎng)絡(luò)服務(wù)器是否提供了新版資源。這些緩存標頭功能強大,沒有任何應(yīng)用條件限制。在設(shè)置這些標頭并下載資源后,瀏覽器不會為資源發(fā)出任何GET請求,除非過期日期到期或達到時間最大值,亦或是用戶清除了緩存。

Last-Modifed和ETag標頭

這些標頭可用于指定瀏覽器應(yīng)如何確定用于緩存的文件是否相同。在Last-Modified標頭中指定的是日期,而在ETag標頭中指定的則可以是唯一標識資源的任意值(通常為文件版本或內(nèi)容哈希值)。Last-Modified是功能“較弱”的緩存標頭,因為瀏覽器會使用試探法來確定是否需要從緩存中抓取內(nèi)容。

借助這些標頭,瀏覽器可以通過在用戶明確重新加載頁面時發(fā)出條件式GET請求,有效地更新其已緩存資源。除非您在服務(wù)器端更改資源,否則條件式GET請求不會返回完整的響應(yīng),因此相較于完整GET請求,此類請求的延遲較小。

我應(yīng)使用哪個緩存標頭?

對于所有可緩存資源,指定一個ExpiresCache-Control max-age以及一個Last-ModifiedETag至關(guān)重要。您沒必要同時指定ExpiresCache-Control: max-age;或同時指定Last-ModifiedETag

使用網(wǎng)址指紋

對于偶爾發(fā)生變化的資源,我們可以讓瀏覽器緩存相應(yīng)的資源,直到該資源在服務(wù)器上出現(xiàn)變化,而服務(wù)器則在此時通知瀏覽器有新版本可用。我們可以通過為每個版本的資源指定一個唯一網(wǎng)址來實現(xiàn)這一目的。例如,假定我們有一個名為“my_stylesheet.css”的資源。我們可以將文件重命名為“my_stylesheet_fingerprint.css”。當(dāng)資源發(fā)生變化時,其指紋就會發(fā)生變化,對應(yīng)的網(wǎng)址也會隨之更改。網(wǎng)址一經(jīng)更改,系統(tǒng)就會強制瀏覽器重新抓取資源。通過指紋,我們甚至可以為變化更為頻繁的資源設(shè)置將來的過期日期。

指紋識別的常用方法是使用對文件內(nèi)容的哈希值進行編碼的128位十六進制數(shù)。

另一個策略是直接為新版應(yīng)用創(chuàng)建新版目錄,然后為版本目錄中的各個版本放置所有資源。這樣做的缺點是,如果各個版本中的資源未發(fā)生變化,則其網(wǎng)址將仍會更改以強制重新下載。使用內(nèi)容哈希值不會遇到該問題,但這種方法稍微復(fù)雜一些。

 

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies.

分享
昵稱*:
郵箱地址*:
評分*:
內(nèi)容*:

如果您需要與我們?nèi)〉寐?lián)系,以下是我們的聯(lián)系方式

如果您需要與我們?nèi)〉寐?lián)系,以下是我們的聯(lián)系方式
聯(lián)系電話
聯(lián)系郵箱
微信聯(lián)系
杰贏網(wǎng)絡(luò)
QQ
215168