阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 9822阅读
  • 4回复

关于OSS CNAME绑定的一点细节上的经验分享

级别: 研究猿
发帖
4672
云币
1641
— 本帖被 swking 从 数据存储计算 移动到本区(2014-03-18) —
给大家介绍一个常识,通常浏览器在请求一个URL时,会提交用户给定的参数(包括POST、GET或者其它方法如控件封装的提交数据), *$4A|EA V  
还有一种数据,用来鉴别用户信息,经常用来储存记录用户验证信息的COOKIE。大家都有常识,如果COOKIE清空,通常就会掉线,已登录的账号需要重新登录。这已不是本文章的重点,在这里只给大家略微地讲一下而已。 VFO&)E/-  
OH!$5FEc  
z6L>!=  
因为这几天在做PW/DZ的OSS插件,建了不下10个演示站,都是在同一个域下的,然后大家可以看下请求时的庞大的COOKIE: 1K*f4BnDr~  
Q'Q72Fg  
w ;s ]n  
看到了吧,你猜下这么大一陀有多大? !e#I4,fn  
QU,TAO  
|/T<]+X;  
没错,总共有3518B,也就是3.5KB左右的COOKIE大小。 Hq"<vp  
D"( 3VIglq  
i Ks,i9j  
也许你会说,不提交COOKIE就没法为访客端处理验证信息,没错,若不提交COOKIE,网站很多逻辑就没法正常工作。 n[MIa]dK  
 8H%I|fm  
H>X>5_{}  
COOKIE的噩梦: HA3SQ  
1.同域共享性: "ZJ1`R=Mj  
假设两个网站,www.a.com/path/awww.b.com/path/b,哪怕他们的内容管理系统不一样,只要域名一样,两个网站的COOKIE若不限制PATH(事实上很多站长很懒,而且对这块也了解甚少)将会导致COOKIE共享,就算不引起安全问题也会让访客、服务器走额外的流量 开销 !+|N<`  
2.COOKIE不认识文件类型: 1VyO?KX '  
本来,通常网站的主要逻辑是动态页面,而COOKIE往往只在这些动态请求时发出才是有用的,然后,主流浏览器不管你请求的是域下的动态请求还是静态请求(图片、CSS、JS、FLASH),都会把COOKIE发出,而且是每请求一次发出一次(一个PV通常包含N个请求,COOKIE浪费的流量将是成倍的)。 Y9co?!J 5M  
3.COOKIE可跨子域: )zL"r8si  
假设两个网站,www.a.com,bbs.a.com,若输出COOKIE时一个网站指定了COOKIE作用域为根域a.com,那么在请求另外一个网站时,此作用于根域的COOKIE同样会与那个网站自身域下(比如bbs.a.com域下)的COOKIE一起请求出去。 (HV~ '5D  
\Q?|gfJH  
M:1F@\<  
我们来看一组可怕的数字: h7W%}6Cqkw  
观察ALEXA排名数据,百度日均PV约为10亿,假设缓存命中率为95%,百度首页共有31个请求(其中页面请求就只有一个),那么每天的总请求量将超过25.5亿次,百度首页未经优化,且COOKIE像楼主开帖时所讲那般庞大,将会导致百度每日浪费的流量达到: O3w_vm'  
非页面请求(约等于总请求-PV)25.5亿-10亿=15.5亿, g`5`KU|  
非页面请求消耗COOKIE流量(约等于为此浪费的流量)15.5亿x3.5kb=5.425TB :'=~/GR  
)r6SGlE[Y  
XpAq=p0;  
按照CHINACACHE公布的数据,其业务全网加速能力超过56Gbps, V jB`~  
5.425TB流量则可以 {+UNjKQC  
(5425x8)/56=775  单位,秒 tx1m36a"  
也就是可以让CHINACACHE全线加速产品满负荷将近13分钟。 8yo6v3JqC  
恐怖吧? |>o0d~s  
*/Ry6Yu  
<sWcS; x  
通常站长朋友选择外部储存域名都是使用已经在运营了的网站的子域名。楼主不建议这么做,为什么,因为你主站的COOKIE,会在请求外部储存域时请求过去了,这无论是对访客、还是对服务器,都是有害无益的(访客浪费了流量,服务器浪费了带宽)。 通常,一个新的顶级域名注册成本需要100元/年左右。而当你为要为你外部域付出太多money时,何不考虑下使用非主站域名的方案,为自己的钱包、为用户浏览器都节省一点流量。 U37?P7i's  
{@K2WB  
eze(>0\f  
很适合正在使用OSS直接在WEB上访问的站长呃
级别: 程序猿
发帖
319
云币
314
只看该作者 沙发  发表于: 2012-09-12
Re关于OSSCNAME绑定的一点细节上的经验分享
貌似都喜欢了,都喜欢用自己的子域名来解析了
级别: 研究猿
发帖
4672
云币
1641
只看该作者 板凳  发表于: 2012-09-12
回 1楼(lepig) 的帖子
但,通常用自己的子域名做为“图床”域,会导致请求时多了一陀COOKIE,无论是访客体验还是服务器优化角度都会打折扣。
级别: 攻城狮
发帖
624
云币
407
只看该作者 地板  发表于: 2012-09-13
对的,我已经注册了cdn图床域
级别: 菜鸟
发帖
75
云币
88
只看该作者 4楼 发表于: 2012-09-13
Re关于OSSCNAME绑定的一点细节上的经验分享
小型站点没什么必要,再说可以指定cookie的作用域。
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)