首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 缤纷校园 英语学习
2010考研 | 自学考试 | 成人高考 | 专 升 本 | 法律硕士 | MBA/MPA | 中 科 院
四六级 | 商务英语 | 公共英语 | 职称日语 | 职称英语 | 博思 | 口译笔译 | GRE GMAT | 日语 | 托福
雅思 | 专四专八 | 新概念 | 自考英语 | 零起点英韩语 | 在职申硕英语
在职攻硕英语 | 成人英语三级
等级考试 | 水平考试 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
公务员 | 报关员 | 报检员 | 外销员 | 司法考试 | 导游考试 | 教师资格 | 国际商务师 | 跟单员
单证员 | 物流师 | 价格鉴证师 | 银行从业资格 | 证券从业资格 | 人力资源管理师 | 管理咨询师
期货从业资格 | 社会工作者
会计职称 | 注会CPA | 经济师 | 统计师 | 注册税务师 | 评估师 | 精算师 | 高会 | ACCA | 审计师
法律顾问 | 会计证
一级建造师 | 二级建造师 | 造价师 | 监理师 | 安全师 | 咨询师 | 结构师 | 建筑师 | 安全评价师
房地产估价师 | 土地估价师 | 设备监理师 | 岩土工程师 | 质量资格 | 房地产经纪人 | 造价员
投资项目管理 | 土地代理人 | 环保师 | 环境影响评价 | 物业管理师 | 城市规划师 | 公路监理师
公路造价工程师 | 招标师
执业护士 | 执业医师 | 执业药师 | 卫生资格
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 网页制作 > 复习资料 > 正文

如何查看网页的responseheader信息并利用其提升性能

  查看网页的header是优化web应用的关键一环,从header中,可以检查到非常多的信息:网页在squid中的缓存时间(age)、客户端缓存时间(expires)、是否有最后修改时间(last-modified)、是否在squid中命中(x-cache)、服务器版本、服务器时间(Date)、gzip压缩情况(Content-Encoding)等等。以上说的这些都是比较基本的信息,最后介绍一个利用header来分析客户端请求走向的问题。先介绍几种查看header的办法:
  1、httpwatch
  这个软件是在windows+ie下最方便的工具了,在网上可以找到下载地址,并且找到破解的key,没有破解的版本是不可以查看header的。安装完成后,在ie的工具栏上就会有个httpwatch的按钮,点下就在ie的下部打开了一个窗口,在这个窗口的左上角有开启的按钮,按下后,在浏览器输入地址查看时就会把这个网页所有发送的请求链接都记录在窗口里,单击任意一个链接,在下方选择header,就可以看到针对这个链接的request header和response header了。使用httpwatch感觉不便的一点是它无论如何会把浏览的网页里的所有链接都记录起来,如果这些链接非常多,以致于难以找到希望查看的链接,那么就得利用它的filter功能过滤掉无关的链接,但查看下一个网页的时候,要把filter改掉。
  2、curl
  在linux下使用curl查看一个链接的header的办法更为直接,另外,它还可以通过修改request header来对目标地址进行调试,非常方便:curl -I http://www.sudone.com这样就可以看到response header了,但是这个header是无压缩的,所以并不是大多数人所取得的header。要查看压缩版本,执行:curl -I --compressed http://www.sudone.com这是使用了curl默认的请求压缩功能,但这个功能在某些时候还是不能取得压缩版本……,执行一个最为原始的:curl -I -H "Accept-Encoding:gzip, deflate" http://www.sudone.com这个办法对所有的可支持gzip或defalte压缩的服务器,都是生效的,如果还是没有压缩(没有返回Content-Encoding:gzip),那就是服务器没有支持压缩的了。顺带记录一个curl检查指定ip的链接的办法,这个对lvs集群下某台机的检查是非常有用的:curl -I -H "Host:www.sudone.com" -H "Accept-Encoding:gzip, deflate" http://64.233.189.99/附带一个wget的用法:wget -S --spider http://www.sudone.com
  wget查阅header的功能并不十分好使,所以不经常用它。
  3、firebug
  如果使用了linux作为桌面,要调试一个带cookie或session之类的网页,那么用curl就非常不便了,这时只能通过浏览器来调试,linux下有普遍支持的浏览器firefox(iceweasel),在firefox里安装上firebug这个插件,便能很容易地查看response header。firebug的使用在网上查查就可以了,应该说还是比较方便的,另外firebug的其它功能也都比较强,这是后话。有了以上几种办法,查看header应该不算大难题了。下面来介绍一下如何利用header来分析客户端请求的走向:因为服务器端做了lvs或者其它类型的负载均衡,所以要检查一些琐碎的故障就变得不太方便,譬如有一台机器,因为种种原因导致它和其它服务器上的程序版本不一致,那么查起来是比较麻烦。通过打印header的方式就可以较为轻松地找到这台有问题的机器。打印header是将能代表本机的一个字符串打印到response header中,一般使用via这个头,这个头可以穿过squid,并且穿过后显示顺序仍为最里的机器到最外的机器,整个流向一目了然。打印header可以用程序(jsp/php)打印,也可以用服务器来打印,介绍几种:
  1、squid
  修改squid的配置文件里的visible_hostname 64.233.189.99.cache.sudone.com,使其能标志机器,这样就能在response的via头里看到机器名。常用的就是把ip地址打上去,如果担心被人看到这个ip地址然后ddos,可以打上一些代号。
  2、nginx
  nginx在配置里敲上一行add_header via $server_addr,便可打印本机ip地址到via头里,另外,如果nginx是作为负载均衡前端,那么打印后端地址也非常方便,敲入:add_header via $upstream_addr即可。
  3、apache
  apache可通过header模块修改头,不很了解,需要查一下。
  4、动态程序
  动态程序就相当灵活,但种类太多不能一一介绍。

转帖于:软件水平考试_考试吧
文章搜索
如何查看网页的responseheader信息并利用其提升性能网友评论网友评论
版权声明 --------------------------------------------------------------------------------------
    如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。
 liujun1987