2014-01-29 46 views
4

我試圖優化的Html網頁,並從YSlow的建議之一是子域的解決方案:使用無Cookie的域名 - 不工作

使用無Cookie的域名有11個組件是不 無餅乾

因此,我遵循我見過的標準解決方案之一,並創建了一個子域static.mysite.com並將圖像放在那裏。

但我仍然得到完全相同的問題 - 每張圖片仍有一個cookie被傳遞,並且yslow消息相同。

那麼如何讓這個子域名無cookie?

+0

你有想過嗎? – Pascut

+0

編號(請輸入15個字符)。 – oyvey

+0

您是否找到了解決方案? –

回答

-3

當瀏覽器發出靜態圖像請求並將cookie與請求一起發送時,服務器對這些cookie沒有任何用處。所以他們只是沒有理由地創建網絡流量。您應該確保使用無cookie請求來請求靜態組件。創建一個子域,並在其中託管所有靜態組件。

如果您的域名是www.example.org,您可以在static.example.org上託管您的靜態組件。但是,如果您已經在頂級域example.org上設置了Cookie,而不是www.example.org,那麼對static.example.org的所有請求都將包含這些Cookie。在這種情況下,您可以購買一個全新的域名,在那裏託管您的靜態組件,並保持此域名無cookie。雅虎使用yimg.com,YouTube使用ytimg.com,亞馬遜使用images-amazon.com等。

將靜態組件託管在無cookie的域上的另一個好處是,某些代理可能會拒絕緩存使用cookie請求的組件。在相關說明中,如果您想知道是否應將example.org或www.example.org用於您的主頁,請考慮cookie的影響。省略www讓你別無選擇,只能將cookie寫入* .example.org,所以出於性能原因,最好使用www子域並將cookie寫入該子域。

來源 - http://developer.yahoo.com/performance/rules.html

編輯

如果您設置一個頂級域名(如yourwebsite.com)所有的子域的餅乾(如static.yourwebsite.com)會還包括設置的cookie。因此,在這種情況下,如果您要使用無Cookie的域名,則需要使用單獨的域名來傳遞靜態內容。但是,如果您在www.yourwebsite.com等www子域中設置Cookie,則可以創建另一個子域(例如static.yourwebsite.com)來託管您的所有靜態文件,這些文件不會再導致發送任何Cookie。

WordPress的您可以使用此配置:

define("WP_CONTENT_URL", "http://static.yourwebsite.com"); 
define("COOKIE_DOMAIN", "www.yourwebsite.com"); 

詳情 - https://www.keycdn.com/support/how-to-use-cookie-free-domains/

EDIT 2

您需要在移動你的靜態內容的WP-content文件夾你新建立的子域!

+0

除非我遺漏了一些東西,否則您的帖子不能解決我的具體問題。 – oyvey

+0

我更新的解決方案 – Pascut

+0

我嘗試這樣做,不工作 –