zoukankan      html  css  js  c++  java
  • 优化网站设计(二十四):通过使用不同的主机减少对cookie的使用

    前言

    网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。

    作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html,同时,他们还发布了一个相应的测试工具Yslow http://developer.yahoo.com/yslow/

    我强烈推荐所有的网站开发人员都应该学习这些最佳实践,并结合自己的实际项目情况进行应用。 接下来的一段时间,我将结合ASP.NET这个开发平台,针对这些原则,通过一个系列文章的形式,做些讲解和演绎,以帮助大家更好地理解这些原则,并且更好地使用他们。

    准备工作

    为了跟随我进行后续的学习,你需要准备如下的开发环境和工具

    1. Google Chrome 或者firefox ,并且安装 Yslow这个扩展组件.请注意,这个组件是雅虎提供的,但目前没有针对IE的版本。
      1. https://chrome.google.com/webstore/detail/yslow/ninejjcohidippngpapiilnmkgllmakh
      2. https://addons.mozilla.org/en-US/firefox/addon/yslow/
      3. 你应该对这些浏览器的开发人员工具有所了解,你可以通过按下F12键调出这个工具。
    2. Visaul Studio 2010 SP1 或更高版本,推荐使用Visual Studio 2012
      1. http://www.microsoft.com/visualstudio/eng/downloads
    3. 你需要对ASP.NET的开发基本流程和核心技术有相当的了解,本系列文章很难对基础知识做普及。

    本文要讨论的话题

    这一篇我和大家讨论的是第二十四条原则:Use Cookie-Free Domains for Components (通过使用不同的主机减少对cookie的使用)

    我们之前讨论过“优化网站设计(二十):使用多个主机来平衡负载”,例如

    1. 使用images.mydomain.com 专门处理图片请求
    2. 使用scripts.mydomain.com 专门处理脚本请求
    3. 使用www.mydomain.com 专门处理网页请求

    当时我们提到的原因是:

    1. 提高了下载的并行度
    2. 由于可以使用多个服务器,所以可以提高服务器的响应能力

    其实这种做法还有一个附加的奖励,以上的三个主机中,应该只有www主机才可能需要保存cookie(它对于图片和脚本来说是没有意义的),我们知道cookie会自动地发送给当前域的所有请求,我们通过将图片和脚本单独放在一个主机, 所有与www主机关联的cookie不会发送到images主机或者scripts主机,这样就可以大大地节省网络流量。

    通过下图可以更加清楚地看到这个效果

    下图是我访问淘宝商城的一个页面(属于vipservice.taobao.com这个主机),我们可以看到这个请求需要发送大量的cookie。(淘宝会确实跟踪我们很多信息)

    image

    该页面用到了很多图片,但由于这些图片是单独放置另外一个主机(img04.taobaocdn.com,如果细心的话,你还可以看到好几个不同的image主机,这是另外一个层面的技术了),所以对这些图片的请求,是不需要发送很多cookie的。

    image

    实际上,对于图片或者脚本(或者其他一些静态资源,例如样式表,Flash等),是不需要发送任何的cookie的。但是上图中,我们看到有一个cookie,名称为DNT ,值为1。这个cookie是干什么用的呢?如果有兴趣,可以自行搜索学习一下,我在后续也有文章会提到问题。

  • 相关阅读:
    java中怎么跳出两层for循环
    卡斯特信号有限公司面经
    唯一索引、普通索引、主键索引的区别
    ES中的查询操作
    sql:union 与union的使用和区别
    Java中多个集合的交集,并集和差集
    Angular动态组件
    Angular惰性加载的特性模块
    spring定时器
    索引
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/3086514.html
Copyright © 2011-2022 走看看