2009-09-16 83 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