首先說一下cookie的域的概念了一下。通常,當通過http請求任何內容時,任何相關的cookie都會隨請求一起發送。 Cookie,取決於他們來自哪個域。使用無Cookie域的想法是,您將靜態內容(不包括cookie)(如圖像)重新定位到單獨的域,以便不會隨該請求一起發送Cookie。這會削減少量流量。
你做這個多少錢增益取決於頁的類型。你擁有的圖像越多,獲得的收益就越多。如果您的網站加載了大量小圖片,例如頭像或圖片縮略圖,那麼您可能會獲得很多收穫。相反,如果你的網站沒有使用任何cookies,你沒有任何收穫。如果頁面只使用少量圖片,那麼無論如何都會在頁面加載之間進行緩存,所以頁面加載速度可能會明顯加快。
有一點要記住,也就是爲example.com
設置cookie也將與請求s1.example.com
爲「s1.
」是一個子域example.com
發送。您需要使用www.
(或您選擇的任何其他子域)來分隔cookie空間。
其次,如果您認爲無Cookie的域名實際上是值得嘗試的東西,那就讓我們來談談實現。
Shikhar的解決方案是壞!雖然該解決方案似乎在表面上起作用,但實際上卻違背了使用無Cookie域的目的。對於每張圖片,首先嚐試s1.
網址。然後,s1.
網址將重定向到觸發第二個http請求的www.
域。無論你如何看待,這都是一種損失。你需要的是一個重寫,它改變了網絡服務器內部的URL,甚至沒有實現瀏覽器。
爲了簡單起見,我假定所有域指向相同的目錄,以便www.example.com/something
= example.com/something
= s1.example.com/something
= blub.example.com/something
。如果您確實需要將圖像物理存儲在「www.example.com/images
」中,這使事情變得更簡單。
我推薦一個的.htaccess,看起來有點像這樣:
# Turn on rewrites
RewriteEngine On
# Rewrite all requests for images from s1, so they are fetched from the right place
RewriteCond %{HTTP_HOST} ^s1\.example\.com
# Prevent an endless loop from ever happening
RewriteCond %{REQUEST_URI} !^/images
RewriteRule (.+) /images/$1 [L]
# Redirect http://s1.example.com/ to the main page (in case a user tries it)
RewriteCond %{HTTP_HOST} ^s1\.example\.com
RewriteRule ^$ http://www.example.com/ [R=301,L]
# Redirect all requests with other subdomains, or without a subdomain to www.
# Eg, blub.example.com/something -> www.example.com/something
# example.com/something -> www.example.com/something
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} !^s1\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
# Place any additional rewrites below.
+1對於這樣的這樣的洞察滿答案nitro2k01!通過讓我簡單地說服我繞過整個無cookie的故事,你爲我節省了幾個小時的修復工作。我的網站只使用10個圖像,這是不值得的重定向子域上的整個東西。雖然在這個話題上,你會知道,如果按照seo排名,它更好地使用yellowhorse.domain.com或domain.com/yellowhorse? – Sam 2011-02-24 18:39:13