2009-09-16 84 views
16

YSlow的一個可衡量標準是使用無cookie的域來提供靜態文件。.htaccess,YSlow和「使用無cookie的域名」

「當瀏覽器請求靜態 圖像,並與 請求發送的cookie,服務器忽略 餅乾,這些餅乾都是不必要的 的網絡流量。要解決這一 問題,確保靜態 組件通過創建 子域名並將它們託管在那裏 無Cookie請求」。 - 雅虎YSlow的

我解釋這意味着,我可以體驗到性能提升,如果我移動www.example.com/imagesstatic.example.com/images

雖然這很容易做到,但我會失去內容管理系統(Joomla/WordPress)中的便捷功能,以便輕鬆引用並鏈接到這些圖像。

是否有可能使用的.htaccess到特定文件夾的所有請求重定向www.example.com到一個文件夾上static.example.com呢?這種方法是否也會欺騙CMS認爲圖像位於其自己域的默認位置?

+0

它出現的共識是,雖然的.htaccess可以用來重定向到www.example.com/images請求static.example.com/images;工作量會降低性能。只有在單個請求中直接從無Cookie域中訪問文件時,纔會出現性能增益。另一個想法是使用動態創建引用的插件。謝謝大家的意見。 – 2009-09-17 12:33:51

回答

14

是否有可能使用的.htaccess到特定文件夾的所有請求重定向 在www.example.com上的一個文件夾上 static.example.com呢?

可能的,但適得其反 - 客戶將不得不作出一個HTTP請求,獲得重定向響應,然後進行另一個HTTP請求。

這比保存的單行cookie數據成本要高很多!

請問這種方法還騙過了CMS以爲 分別位於其自己的域的默認位置的圖像?

3

重定向將導致遠遠更多的網絡流量,並更多的等待時間,不是簡單地把一切事情,因爲它們。

1

它會重定向請求,但客戶端仍然會發送其cookie到服務器,所以你真的什麼都沒有做到。您必須直接從未存儲Cookie的域中訪問這些文件才能運行。

4

雖然這是很容易做到的,我會 失去我 內容管理系統 (的Joomla/WordPress的)內的方便能夠方便地引用 並鏈接到這些圖片。

你可以嘗試做的是在Joomla中創建一個插件,它可以創建這些引用。

例如,你有,當你在文章中輸入{dinamic_path路徑},其追加「static.example.com/images」所提供的路徑的插件。所以,每次你需要改變服務器路徑時,你只需要改變插件。對於已經在數據庫中的鏈接,可以嘗試使用phpMyAdmin在此結構中更改它們。

它仍然失去在TinyMCE的所見即所得hability,不過是一個另類。

+0

感謝GmonC的想法,但可能會超出我的技能。請問大型插件庫Joomla和Wordpress都有,我只是希望能找到一些已經沿着這些方向發展的東西。 – 2009-09-17 12:27:42

+0

你可以在Joomla的官方網站中搜索擴展目錄。有一個名爲「DirectPHP」的插件,你可以寫一個5行PHP腳本並從文章中調用它。但我同意有時我們只想要一個已經有效的解決方案:因爲它是一個cms,它應該已經實現了一些功能。那麼,祝你好運與其他提供的解決方案! – GmonC 2009-09-17 12:59:55

+0

ATG Dynamo是一個商業化的(並且非常昂貴!)webapp框架。您可以在CMS中使用圖像,並且在部署內容時,它可以將圖像推送到專用的網絡服務器,然後在頁面上生成正確的網址。這是一個好主意,當然不是所有這些都很難實現,所以我很驚訝它沒有更廣泛的實現。 – 2010-07-18 18:05:52

0

你真正想要做的是使用staticexample.com/images代替static.example.com/images,這樣你就不能挑上你可能設置example.com域的任何cookie。如果你所做的只是使用簡單的apache服務器或其他東西的服務器映像,那麼你可以配置該服務器不會返回一個會話cookie。

重定向是一個非常糟糕的主意。 Cookie會導致一些性能問題,但是往返服務器(例如重定向)會導致更嚴重的性能問題。

3

從理論上講,你可以創建直接指向圖像文件夾,如images.example.com虛擬域。然後在您的CMS(希望在主題層),您可以用子絕對路徑替換指向圖像文件夾的任何路徑。

1

我做以下,並獲得成功:

<FilesMatch "!\.(gif|jpe?g|png)$"> 
    php_value session.cookie_domain example.com 
</FilesMatch> 

它的意思是,如果你不設置cookie信息的圖像。 然後圖像與服務器無cookie。

+1

這不是OP所要求的。 – tiago 2012-12-13 05:32:58

+0

Nginx是否有與此相同的內容? – 2015-11-01 11:20:36

+0

爲我的網站顯示503 – 2016-02-25 10:05:23