加速blog:HTTP Header

本文隶属加速blog系列

HTTP请求和相应Header

一个经典的HTTP连接是,读者通过浏览器(下称为浏览器端),向服务器(下称为服务器端)申请浏览某网页,通过发送请求Header的方式。服务器端接受到浏览器端的请求后,生成用户需要的文件,发回响应Header。大致示意图为

比如浏览阅微堂首页时,浏览器端向服务器端发送的请求Header如下:

Host zhiqiang.org 请求的域名
User-Agent Mozilla/5.0... 浏览器端浏览器型号和版本
Accept text/xml,application/xml ... 可接受的内容类型
Accept-Language zh-cn,zh;q=0.5 语言
Accept-Encoding gzip,deflate 可接受的压缩类型
Accept-Charset UTF-8,* 可接受的内容编码
Cookie user=someone 浏览器端的用户COOKIE
If-Modified-Since Wed, 14 Nov 2007 02:01:00 GMT 浏览器端的缓存的最后修改时间
If-None-Match "2a541d-5b45-efde6f00" 浏览器端的缓存文件地标识符

而服务器端的响应Header大致为:

Date Wed, 14 Nov 2007 05:11:47 服务器端时间
Server Apache/2.2.6 服务器端的服务器软件
Last-Modified Wed, 14 Nov 2007 01:38:50 最后修改时间
Etag "39457e-6234-a0983e80" 文件标识符
Content-Encoding gzip 传送启用了GZIP压缩
Content-Length 8562 内容长度
Content-Type text/html 内容类型

至此,一个HTTP请求结束。浏览器端接收到页面内容后,如果页面响应header的类型是text/html,表明这是一个网页,浏览器把它以网页的形式显示出来。在显示的过程中,有可能又引用新的页面内容(比如css, javascript, flash, 图片等),浏览器又会向服务器端发送新的请求。直至页面完全载入完毕为止。

如何察看页面的请求和响应Header?

由于请求和响应header里包含了相当多信息(以后我们将多次遇到它),特别是响应Headers,我们应该时刻留意它们。这些信息无法直接获取,需要依靠第三方工具。

Firefox下的firebug

Firefox安装firebug插件后,可以很方便的查看每个文档的响应信息,而且firebug的功能不限于如此,它是调试网页的必备之物。初识Firebug 全文 — firebug的使用有更详细的介绍和上手教程。

IE下的Fiddler2

IE下的对应工具是fiddler2,就察看Header来说是足够了,事实上它能监控IE所产生的一些流量信息。官方说可以用来做IE下的debug,不过我没发现。这里有一个关于fiddler2的介绍(中文)。

  • 加速blog:网站响应缓慢的因素 本文隶属加速blog系列  为什么有的网站即点即开,有些却慢得要死?影响网站速度的因素有但不限于下面这些:许多因素会影响到网页初次访问的响...
  • 加速blog:WordPress的缓存和静态化 WordPress消耗时间最多的便是数据库的查询,所以缓存是一个比较好的解决方案。WordPress强大的'hook'机制,使得可以为之建立强大的缓存机制,从缓存数...
  • 加速blog:设置浏览器缓存 在用户浏览blog的不同页面时,很多内容是重复的,比如相同的javascript,css,背景图片等。如果我们能够建议甚至强制浏览器在本地缓存这些文件,将...
  • 加速blog:分析页面内容 用FTP更新WordPress的可能有体会,如果是打包上传的话,速度很快,但如果解压后一个文件一个文件上传的话,可能就要好几分钟。 下载也是如此,不...
  • 加速blog:处理页面图片 作为文章的或者功能性的或者美学意义上的需求,现在blog越来越丰富多彩,图片也越来越多。 选择合适的图片尺寸 现在数码相机越来越好,动辄800...
  • 加速blog:服务器端的中转和缓存 前面已经提到了浏览器端的缓存,通过适当的Header可以建议和命令浏览器缓存页面内容比如javascript, css, 图片等。这里的服务器端的缓存又是什么意思...
  • 加速blog:序 这是一个介绍如何提速blog的系列文章,特别是基于WordPress的blog。通过这些方法,你我完全能做到一个飞速的blog,至少要比与你同服务器上的其它blog要...
  • 加速blog:减少和优化插件 尽量少用含javascript和css的插件 很多插件作者需要为blog的慢速度负责。插件作者随意地往'wp_head'里安插js和css,导致很多blog的head部分越来越臃肿。 ...
  • 加速blog:选择合适的服务器 要想打造一个响应快速的blog,一个快速的服务器(虚拟主机空间)是必不可少的。其实这才是决定因素,因为这可能会导致速度在数量级上的差距(我...
  • 加速blog:优化WordPress程序效率 这里本质上要谈的还是优化数据库的效率,不过是改写WordPress的代码使得降低数据库查询次数。 get_permalink函数 get_permalink函数非常好用,get_permalink($i...
4条留言 -> 跳到留言表格
(Required)
(Required, not published)

  B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
guest | 注册 | 管理 | English | 繁體 | https

阅微堂

zhiqiang's personal blog
Loading...
Loading...
Loading...