Fiddler – 第二部分: HTTP性能

HTTP性能: 总览 所有的用户都喜欢在高速状态访问网站. 用户都是没有耐心的. 如果它的性能欠佳, 除非你的网站没有其他任何竞争对手, 否则用户是不愿意多停留在你的网站的. 如果你的网站是面向全球的访问者, 保证你的网站能有效率的运行就更加重要了, 因为要考虑到国际化网络常常会受到两个因素影响: 高延迟和低带宽. 有很多的方式可以提高你网站的性能:压缩技术,缓存,基于地理位置的负载平衡,增加硬件等到.优化压缩和缓存常常是最好用的方式,由于它们涉及的改变一般都是免费的,而且可以达到显著的效果. 在这篇文章,我们将使用Fiddler HTTP Debugger来研究HTTP性能,缓存和压缩技术.   调整”第一次访问”的性能 用户对你网站的第一次访问是非常重要的.访问者需要下载每一点的信息来生产网页,包括Jscript,CSS,图片和HTML.如果你的网页加载地太慢,访问者也许在它完成加载之前就离开了页面. 通过显示所有的 HTTP通讯,Fiddler可以轻松地显示用来生成一个页面所涉及的文件.在HTTP会话列表,Shift+点击多个记录可以计算”加载页面权重”-请求的数量和传输的字节.   图1. Fiddler’s数据视图   为了提供一个”哇,这个真的很快”第一印象,最好的方式就是递送更少和更小的文件. 高速的首次访问的技巧: 用更少的图像 提取式样到一个独立的CSS文件 提起脚本块到一个独立的JS文件 简化页面布局 使用HTTP压缩 只要你能提供一个高速的首次浏览体验,你就可以通过HTTP缓存为回头客来提供更快的性能.   HTTP缓存介绍 有两个提高你的网站速度的要素: 减少请求\响应回传的次数 减少服务器和客户端传输的字节数量 HTTP缓存是减少双程回传和字节传输的最好方式之一.缓存为客户端或者代理提供了一个机制,可以存储HTTP响应内容以方便后续需要,这样请求就不需要再次通过网络. 除了性能调优,最大化的利用HTTP缓存的优势还来自于网络带宽是收费的.为一个微软的主站调节缓存可以每个月节省$10,000的传出带宽开销.   缓存相关的请求头 为了提高性能,微软IE浏览器和其他的Web客户端会在本地维护从远处web服务器下载的缓存资源. 当客户端需要一个资源的时候,有三种可能的动作: 发送一个直白的HTTP请求向远成Web服务器请求一个资源 发送一个条件型的HTTP请求,当且仅当请求的资源和本地缓存的版本不一致时才到初始服务器获得该资源 当请求的资源存在一个本地缓存副本的时候,使用本地缓存版本的资源 当发送一个请求的时候,客户端也许需要用到下面的头:   表 1. 客户端缓存头 Pragma: no-cache 客户端不倾向于接受任何带有缓存的响应,必须每次都联系初始服务器获取一个全新的资源. If-Modified-Since: datetime…