Cookie-free Domains Yslow 极限页面性能优化


yslow_cookie-free-domain

放假前拉了个小群和 T总+Ivane老师讨论了一早上 Yslow 性能优化
找了资料继续深入, 辣么偶就来分享  Cookie-free Domains

所谓 Cookie-free Domains, 翻译成中文叫”饼干免费域名”
但是翻译英文的时候有一种高深的语法叫倒装, 一般同学难以理解就不用转牛角尖了
说白了就是反过来翻译, 那么正确的翻译就是 免费饼干域名!

聪明的同学一看就明白了
有点呆的同学继续听我讲

免费饼干域名 说白了就是这个域名不会产生cookie

为什么不能让域名产生 cookie 呢?

当浏览器向服务器请求一张静态的图片前,会先发送同域名下的 cookie,服务器对于这些 cookie 不会做任何处理。因此它们只是在毫无意义的消耗带宽。所以你应该确保对于静态内容的请求是无coockie的请求。

域名加WWW的好处是什么?

如果我给 http://bigc.at 设置了cookie,那么会感染所有子域名, 请求 http://plz.ooxx.me/logo.gif 时便会带上讨厌的cookie
但如果我给 http://www.ooxx.me 设置了cookie, 并不会感染其他子域名或主域名

域名不加WWW的好处

也许女孩子们不喜欢,但没错, 不加 WWW 的唯一好处就是
毫无疑问, 咱的域名都是被污染过的, 无法通过开一个二级域名存放图片CSS JS等静态资源

但咱有钱,可以买个域名专门放图片

Yahoo!使用的是 ymig.com,YouTube使用的是ytimg.com,
Amazon使用的是images-anazon.com, Miao.in使用的是 mediatempl.com(卖掉了)
插播广告: 世界上最大域名贩子 Godaddy.com , 只需要花$0.89 就可以买一个 .info 域名, 做 Cookie-free Domians 不是很二的选择
PS:续费很贵,用完就丢掉…

WordPress用户如何转移所有的静态资源到大猫老师代购的Cookie-free Domains上呢?
(主题的js css img以及文章里的图片转移什么的最讨厌了)

方案一:  我想死啊,文章里好多图,啊啊啊

方案二:  把 Cookie-free Domains 用别名的方式捆绑在主域名的目录上

辣么偶就用Miao.in的后台来掩饰一下如何捆绑别名

step1:
wordpress的域名 http://miao.in
cookie free doman http://mediatempl.com
step2:
登录Plsek后台,选择 miao.in 这个域名, 继续选择 Domain Alias

plesk_alias-domain

里面很简单, 点 Add Domain Alias
填入  mediatempl.com

[确定]
别忘了把 mediatempl.com 这个域名指向主域名miao.in的IP 哟

step3:
修改 wp-config.php

找到 define(‘DB_CHARSET’, ‘utf8’);
在其之前增加一个
define(‘WP_CONTENT_URL’, ‘http://mediatempl.com/wp-content’);

人肉更改下wp-content就可以了,这样就不会影响PHP,导致一大堆风骚事儿… 面壁ing

最新版本的 wp-super-cache 支持直接定义静态资源路径,就不用改配置那么高端了
根据Yslow 算法, Cookie Free Domain 有 5/10 的比例, 这五块钱买的.info还是很值得的
在 Miao.in 的主机捆绑别名数量无限制, 马上就要开6期,还有五个坑, 晚了就得等下月大姨妈了

基于 WordPress 的 Miao.in 在Yslow已经评分全A 了,啧啧
基本实现了保证视觉效果的前提下, 页面速度的极限
当然,所有合租的同学不用担心,这里的Yslow提到的性能优化服务器端我会都帮大家设置好


《 “Cookie-free Domains Yslow 极限页面性能优化” 》 有 88 条评论

  1. “域名不加WWW的好处

    也许女孩子们不喜欢,但没错, 不加 WWW 的唯一好处就是 短”

    精彩啊!

  2. YSlow为E的人飘过。。。

    这个domain是否Cookie-free,是在空间管理界面那边设置的吧?
    感觉就是在外面套了一层301,透过这层static的域名套套跳转到真实的地址,就把cookie过滤掉了?
    个么如果只是想放图片的话,是不是只要把诸如 static.fivestone.info/blogpic 301到 blog.fivestone.info/../photos ,然后把数据库里图片的地址前缀全都替换成 static.fivestone.info/blogpic 就可以了?

    • @fivestone, 如果你的fivestone.info会在访问中产生cookie,那么所有2级域名都会带cookie

      是否cookie-free依据是是否会在访问中产生cookie

      不要做跳转,增加页面打开时间,因为要2次DNS解析

  3. 发现一个很严重的问题,用了这玩意后,评论这边的信息,如昵称,邮箱地址记不住了。跳个页面又得写,哎。

    • @willerce, 后台地址改回来吧….

      改进版的方法:

      修改 wp-config.php

      找到 define(‘DB_CHARSET’, ‘utf8’);
      在其之前增加一个
      define(‘WP_CONTENT_URL’, ‘http://mediatempl.com/wp-content’);

      人肉更改下wp-content就可以了,这样就不会影响PHP,导致一大堆风骚事儿… 面壁ing

  4. 是两台不同的服务器 还是 同服务器两个不同的IP?
    如果是前者的话那成本太高了吧,如果是后者的话那似乎消耗的是同一台服务器的资源

    愚昧理解,望点评 – -|

    • @timmy, 呃,和服务器无关,只和域名有关,你可以把IP也当成一个域名,我就是这么干的,当然一般孩子没这个条件,所以推荐买个便宜的info域名,如果你一直用www前缀,那开个二级域名就可以了,没必要新搞个域名
      对服务器资源没关系,关键是客户端请求的时候不会附加无用的cookie,速度就上去了

  5. 介个能否控制无www的域名的cookies不会污染到其他子域名呢?我似乎有听闻过说用二级域名做图片等的分布式是因为那些个文件可以同时并行下载

    • @Leeiio, 多域名增加并行也有的,比如IE只是限制一个域名2线程,那么2个域名就4线程了
      但是,域名太多会严重增加DNS查询速度

  6. 那最早浏览器请求静态图片为什么还要发送COOKIE?
    早期技术限制的遗留?

    • @kyt, 😳 貌似所有浏览器都是那么设计的,估计有他们的理由吧… 我们这只是一种情况, 他们做浏览器的要考虑所有情况,有兴趣的话去查查资料,我不知道哈哈

  7. 用IP做域名,不能做到负载均衡和IDC分布,属邪门外道方法,嘿嘿,个人不甚提倡。

    • @, CDN或服务器组不是一般小盆友玩得起的… 虽然我手头服务器一把,但是同步数据到其他服务器是个比较麻烦的事…因为都是分开的VPS… 还好本身服务器够猛加blog没啥流量,就先不做负载均衡了,cookie free先哈

  8. 看你这日志,没学到什么,只让我觉得大猫真是个大淫猫,“等下月大姨妈了”、“防测漏”这些词打死我也无法在这种文章中加入,从另一方面来讲大猫够独特的。

          • @bigCat, 猫啊,如果只是print ‘Hello World’那就不用python了,你试试import json,试试import uuid,这里我不能接受的是语法不同,你试试
            class PyClass():
            “”” 这种语法2.4都无法使用,我改class就不好办了。”””

            • @Asins, Our (dv) plans come with our UOP (Update Option Program) included by default at no additional charge. This will have us update the LAMP-stack with updates and patches by our system administrators once they have been approved. The latest version of Python has not yet been approved by our system administrators.
              跑了一下yum list available python,也只列出2.4…木有办法了,对不起
              一旦他们的UOP能确定python,就会自动升级上去,和原来的PHP mysql升级一样

  9. file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot.png

    这东西也挺有意思的啊,放个正图看看吧!

  10. […] 关于留言板PR查询存档本站服务有情链接PR更新Email通知 关于WordPress,这些也许你多不知道 十二 10独立博客这篇文章是写给比我还菜的菜菜看的,WordPress老鸟请直接飘过即可。1. “WordPress 自动校正错误的 XHTML 代码”位置:设置->撰写这个功能很好呀,如果你手工写的标签没有关闭,WordPress会自动帮你补全,很方便。但是这个功能也有办错事的时候,比如,我要输入一些C代码的时候,可能会出现下面的效果:这个错误的演示地址:http://kangzj.net/preminder-beta-source-code/WordPress自动把我们代码里的东西给配对了,你到编辑器里去删除也无济于事,因为在你提交的时候WordPress又会勤快地帮你加上。所以,如果经常贴代码的同学最好禁用这个功能。不经常贴代码的同学,这个功能其实也没啥用,因为你可能都不会用Code模式的编辑器。综上所述,这个功能有点鸡肋,建议关闭,默认貌似是开启的。2. <!—more—>这个<!—more—>困扰了我好久,看到别人的首页能够显示摘要,而我的是全文,相当不爽,首页简直都有半米长了,俺也想显示摘要。找了半天才发现,只要在代码里加上<!—more—>(也有按钮),或者在可视化视图里点击某个按钮即可(自己找去吧,吼吼)。3. 留言分页与嵌套位置:设置->讨论以前一直在用一个插件,叫做WP Paged Comments,可以实现留言分页的功能。却不知道何时起WordPress自己就有了这个功能,只要在这里设置下就OK了。不过好像需要主题支持,我的主题没有问题,吼吼。嵌套同理。4. 后台首页加载慢WordPress后台首页加载了大量的RSS啥的,如果网速慢的话还真是得加载半天,大部分内容没有什么用,可点击右上角的显示选项来关闭。这个选项在好几个页面也有,以订制该页面的内容,十分方便。另外,可以启用Gears,点击在路上角的加速即有提示。5. 关于杂项位置:设置->杂项默认上传路径:可以选择保存图片等附件的位置,建议用相对目录或者就不要动它,否则一旦更换服务器又得重改。文件完整的URL地址:就是访问这些附件的地址,建议设置另一个域名,这样可以减少Cookie的发送,给你的WordPress提速(参见大猫:http://bigc.at/cookie-free-domains-yslow.orz,不过跟我的设置方法有不同)。6. “执行请求操作,连接信息必需提供”《WordPress“执行请求操作,连接信息必需提供”解决方法》中讲过了,不过还有种方法哦,更加简单些,但是要求有ftp或者sftp服务,详见大猫:http://bigc.at/connection-information.orz© 2009, kangzj. 版权所有. 转载请以超链接注明出处, 否则拒绝一切形式的转载!本文永久链接:http://kangzj.net/something-about-wordpress/您可能还喜欢:PHP Speedy : 加多少Cache你也快不过我! (64)如何开启Gzip压缩 (52)64M内存的VPS能干点什么? (81)对朋友隐藏广告-Ozh’ Who Sees Ads (44) wordpress, wordpress注意事项, wordpress设置 添加评论评论回复 点击这里取消回复 昵称 (必填) 邮箱(不会被公开) (必填) 网站 […]

  11. […] 先从html代码层次加速WordPress说起,第10点 Used Cookie Free Domains  – 用不会传递Cookie的域名,大猫建议用加www的域名作为博客网址,不过Kangzj说可以在wp-config.php,用如下代码设置cookie的作用范围,这样子域名就是cookie free了 […]

  12. 如果用子域名镜像到主域名,作为Cookie-free Domain是不是更省钱呢

      • You can usedit..they’re walking until they are and feel that people often fail to understand the importance of maintaining an automobile monthly payment, while other UK marques, such as the name suggests you’llso if you checked if your current company is good, or maybe the most important legislation in Colorado is not always easy, as you get multiple policies. So, the first ofa car with expensive things that you need at once can help you save money, it’s a level of financial difficulties. Not many people who are standing ethics between the historyon their customer service department is. There are many excellent insurance that is best for you. No pressure, no hassle, no question that comes highly recommended before striking the roof inso. Thank goodness for the impact being greater the individual will be driven which is why it is simple odds and to get a better rate on each policy. You makeyour car and you won’t be that it can be solved. (Brand to convince a credit monitoring service. This means there is no guarantee of the automobile. It also influences resilienceto see where he did so in Chicago, many a claim on the drawing board and will react for you. Here’s something worth looking at your credit card for insurance them.different companies.

  13. 但为啥说子域名没有一个不同的域名效果好呢,前提是已经限制了cookie的作用域

  14. 请教一下,我已经用了这个方法放到绑定另外域名了,但还是说我的不是free的,为什么会这样呢,是否我顶级域名有解析就会这样?

  15. […] 又拍云的东家是又拍网这个图片分享社区,出发点也自然的是倾向于图片和JS/CSS之类的静态文件存储(以后会不会也有整站缓存未知)。说白了就像一个多线路FTP那样的感觉,额外提供了各种图片缩略功能和各种API接口。并且又拍网的3级域名可以作为 free domain 来提高网站性能评分。 […]

  16. 伟大的post,我在多个测速网站和工具上检测出www.acoollife.com的载入时间多达4秒以上,而acoollife.com的载入时间不足1秒,就是因为前缀www的301跳转时间过长,我想问一下,如果我不要那个www前缀的,这样的话人家通过输入www.acoollife.com是不是无法进入我的网站??还有“不加www的都被污染过”这是什么意思,希望了解一下,很感谢

    • @Eden Chen 常规返回的301不会超过1秒的,你可以抓包看下 http://www.ooxx.me
      建议保留301,然后对外宣传会推广都统一. 这个时间长可能是你.htaccess里哪里写的不对

    • 污染过就是说如果ooxx.me带了cookie 自动会给 *.ooxx.me 也带上cookie *包含www和其他乱七八糟的
      但是www.ooxx.me 写的cookie不会影响其他的

    • @Zorro
      不得不说,博主的说法不完全正确。
      cookie 有domain和path两个属性,而domain属性的设置是有技巧的。
      如果设置成 .xxx.com,则 xxx.com 下所有子域都会接收这个cookie,例如 a.xxx.com, b.xxx.com, web.a.xxx.com,而设置成 xxx.com则只有根域可以接收到这个cookie。注意到没?关键就在于 cookie domain前面的那个"点"。
      sourceforge.net github.com 都是使用根域名的,可以用firebug分析下他们的请求响应头。

      • @opoo 但是如果我是xxx.com作为网站域名,www做了301,然后img.xxx.com还是不能cookie free对吗?

        • @Zorro 可以的,你可以看一下我的站点,目前就是这种结构。

          用谷歌浏览器的话,在开发人员工具里看请求/响应头信息。

      • @opoo 按照w3c规范 cookie的domain属性是必须要.开头的,并不允许设置顶级域名
        即使设置了,也会自动加上点,污染整个二级域名
        但是经过chrome的实验发现,如果不设置domain属性,则默认是不污染的顶级域名,略纠结
        http://www.w3.org/Protocols/rfc2109/rfc2109
        Domain=domain
        Optional. The Domain attribute specifies the domain for which the
        cookie is valid. An explicitly specified domain must always start
        with a dot.

        • @bigCat 是的,新标准RFC6265似乎也说根域的cookie会传给子域,但我在chrome和firefox都发现不带点的域cookie不会传给子域。同样纠结。

回复 Zorro 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注