Vary 是一個功能強大的 HTTP 標頭,它在網站快取的工作方式中發揮著重要作用。正確設定此標頭後,無論應用何種緩存,都可以確保您的網站訪客看到正確的內容。然而,如果這個標頭設定不正確,它甚至可能完全否定最好的快取系統的好處,並導致資源過度使用。在這篇文章中,我想闡明 Vary 標頭如何影響您的 SiteGround 託管網站,特別是我們的快取系統,並向您展示 Vary 標頭對您網站的建議用途。
Vary 標頭如何運作?
Vary 標頭的角色是指示在什麼情況下應提供網站的不同版本。如果您的 Vary 標頭具有以下值之一:User-Agent、Cookie、Referrer甚至 *(通配符),它可以顯著降低我們的快取系統的影響。發生這種情況是因為這些值表明應根據所使用的瀏覽器類型(用戶代理)、通遼電話號碼數據 唯一 cookie 或引用 URL 的存在來提供不同版本的頁面,或者在更糟糕的情況下使用 * 時,這意味著每次訪問都會提供新的內容,這將完全禁用我們的快取。
變化:用戶代理
讓我們來看看最常用的值 User-Agent 是如何運作的。它告訴我們的動態快取:「嘿,你應該為不同的作業系統和瀏覽器儲存不同的快取」。這樣做是為了避免向行動訪客提供快取的桌面版本。但請注意,現在大多數網站實際上並未為其行動版本提供不同的 HTML。響應式 CSS 可以完成所有繁重的工作,並在行動裝置和桌面裝置上以不同的方式顯示您的網站。因此,除非您使用像 WP Touch 這樣的插件,或者您確定您網站的 HTML 輸出存在差異,根據訪客的瀏覽器,您的網站不應發送 Vary: User-Agent 標頭。
如果沒有設定 Vary: User-Agent,我們的快取系統將在第一次載入時快取您的網站,然後將快取版本提供給以下請求,除非您更新內容或手動清除快取。啟用使用者代理程式後,系統將為存取您網站的作業系統和瀏覽器版本的每種組合保留不同的副本。這意味著您將向第一個在桌面 Safari 上加載您網站的人發出動態請求,向第一個加載行動 Chrome、桌面 Chrome 等的人發出動態請求。
假設您大約每 100 次點擊就清除一次快取。如果沒有Vary:您的網站發送的用戶代理,您的網站將只有100 個動態請求中的1 個。您將有5-30 個動態請求存取。因此,同一個站點將使用其在不設定標頭的情況下所需資源的 5-30 倍。
壞機器人
我們討厭惡意軟體流量和壞機器人。我們一直在努力以各種可能的方式與他們作鬥爭。我在這裡提到機器人,因為如果您收到它們的垃圾郵件,Vary: User-Agent 標頭可能會決定它們的攻擊有多成功以及被機器人爬行將如何影響您的網站效能。
您可以將機器人視為在您的網站上執行自動操作的瀏覽器。它可能會為自己的索引收集資料、搜尋漏洞、透過即時分析優化需求生成:即時洞察以做出更好的決策 嘗試提交表單等。像 Google 機器人這樣信譽良好的爬行機器已正確設置,而其他爬行機器可能會嘗試模仿 Bing 機器人或 Google 機器人,甚至隨機生成用戶代理。
如何查看您的回應標頭
首先,您應該檢查您的網站返回給訪客的標頭。通常,Vary HTTP 標頭如何可能是 我會在瀏覽器上使用 FireBug 的「網路」選項卡,資料庫到數據 但您也可以使用一個方便的線上檢查器 Vary 標頭有多個值,而 user-agent 只是其中之一。如果您沒有 Vary 標頭或它僅包含 Accept-Encoding 值(有助於 gZIP 壓縮正常工作),您不必擔心。但是,如果您看到 User-Agent 或任何其他值(Cookie、Referrer 或 *),我們建議您將其從標頭中刪除。