外头站着
04
10 月

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提到的性能优化服务器端我会都帮大家设置好

yeah, bigCat made it!

» You can leave a comment, or trackback from your own site.

大战 88 回合 to “Cookie-free Domains Yslow 极限页面性能优化”

  1. […] 转载自:http://bigc.at/cookie-free-domains-yslow.orz 返回 […]

  2. Eden Chen说道:

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

    • bigCat说道:

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

    • bigCat说道:

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

  3. Eden Chen说道:

    对了,我所做的英文站,国外用户会不很在意通过www.xxx.com进入网站

  4. Zorro说道:

    不带www,二级域名真的没有解决办法吗?

    • bigCat说道:

      @Zorro 1,不写cookie,2无视,这部分性能影响很小,除非你超大型网站才需要关注

    • opoo说道:

      @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分析下他们的请求响应头。

      • Zorro说道:

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

      • opoo说道:

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

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

      • bigCat说道:

        @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.

      • opoo说道:

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

Leave a Reply

:!: :roll: :o :lol: :P :( 8O :x :oops: :) :?: :idea: :evil: ;) :twisted: