查看网页的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、动态程序
  动态程序就相当灵活,但种类太多不能一一介绍。

firebug使用的更多相关文章

  1. 开发者最爱的Firebug停止更新和维护

        近日,Firebug团队在其官网上宣布,Firebug将不再继续开发和维护,并邀请大家使用Firefox的内置开发工具.     Firebug最初是2006年1月由Joe Hewitt编写, ...

  2. firebug不能加载JS文件 ,无法进行JS脚本调试

    提示: 本页面不包含 Javascript 如果 <script> 标签有 "type" 属性,其值应为 "text/javascript" 或者& ...

  3. Firebug中调试中的js脚本中中文内容显示为乱码

    Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...

  4. Firebug调试js代码

    Firebug功能异常强大,不仅可以调试DOM,CSS,还可以调试JS代码,下面介绍一下调试JS. 1.认识console对象 console对象是Firebug内置的对象,该对象可以在代码中写入,可 ...

  5. 修改Firebug字体

    Firebug是一件非常好用的调试工具,然而默认的字体有些单调,设置里又没有更改的选项,那么字体到底能不能更改呢?这个问题困扰了我好久,直到今天我才偶然发现了解决方案. Firebug属于火狐的一个插 ...

  6. Selenium FF WebDriver 加载firebug 和设置代理

    首先这次使用的webDriver for Firefox的 由于项目的原因,需要在测试的时候加载Firebug和使用vpn,加载代理 Firefox 加载代理,可以从FF菜单上看,代理分为好几种 我这 ...

  7. [资源分享]yslow 与firebug 修复版本Firefox35【绿色版本下载】

    自从火狐也开始做版本帝后,相关查的插件越来越不好使了, 而且火狐集成自己的调试工具,也不是很好使用,Yslow 也坏掉了 找公司写c++修复了下 把yslow和Firebug 打包到一起,而且关闭自动 ...

  8. 10分钟学会前端调试利器——FireBug

    概述 FireBug是一个用于网站前端开发的工具,它是FireFox浏览器的一个扩展插件.它可以用于调试JavaScript.查看DOM.分析CSS.监控网络流量以及进行Ajax交互等.它提供了几乎前 ...

  9. 利用firebug调试功能辅助了解闭包和this

    算一算,有段时间没写博客. 上午的时候翻看以前收藏的一个系列博文<深入理解javascript原型和闭包>, 讲闭包那节:http://www.cnblogs.com/wangfupeng ...

  10. 工欲善其事必先利其器——web调试工具firebug

    一.Firebug工具简介 firebug是firefox下的一款开发类插件.firebug集html查看和编辑,JavaScript控制台,网络状况监视器于一体,是开发JavaScript,css, ...

随机推荐

  1. TNetHttpClient支持异步访问(Delphi 10.1 Berlin,红鱼儿的博客)

    Delphi 10.1进一步改进自Delphi 10带来的Http访问控件TNetHttpClient,支持异步访问,同时增加ConnectionTimeout及ResponseTimeout两个超时 ...

  2. Perl 面向对象编程的两种实现和比较:

    <pre name="code" class="html">https://www.ibm.com/developerworks/cn/linux/ ...

  3. Research notes for Scientific Writing

    Noun. complacency n. 自得;自鸣得意 nomenclature  n. 专业术语:e.g. the nomenclature of music; 音乐的专门术语 Verb. abs ...

  4. 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列5

    Oracle(用户)进程 以下这些操作都是需要消耗大量CPU资源的:解析大型查询,存储过程编译或执行,空间管理和排序. 下面这几篇文章可以帮助采集关于使用高CPU资源的进程的更多信息: Note:35 ...

  5. EasyUI - Layout 布局控件

    效果: Html代码: <div id="cc" class="easyui-layout" style="width: 600px; heig ...

  6. COM实现过程

    前言 COM已经成为一个必需的东西了.在我们周围,可以说处处充满了COM – 如果你是在使用WINDOWS,并在其下面编写程序的话.然而,无论你是用VC,还是使用DELPHI进行COM编程时,在大多数 ...

  7. HTML5 Canvas中9宫格的坑

    近期小鸟情人游戏上了手机qq空间,一个3岁的游戏来了她的第二春.为了能有更好的表现,我们对其进行了一次改版. 改版当中一项就是对原来的弹出框样式进行改进.将大块木板材质改成纯色(边框为圆角金属材质)样 ...

  8. Swift - 获取屏幕点击坐标下所有对象(SpriteKit游戏开发)

    对于场景内对象元件的点击响应,我们可以在场景的touchesBegan()方法中内统一处理. SKScene中touchesBegan()是响应屏幕点击的方法,在这里面我们可以先获取点击位置下所有的对 ...

  9. ABAP常用字符串处理

    1.SEARCH搜索指定字符串 REPORT Z_CHAR. ). MOVE 'Welcom to sap world!' to str. SEARCH str for 'sap'. 如果查找成功sy ...

  10. windows查看某个端口被谁占用

    XAMPP Error: Apache shutdown unexpectedly. 解决思路 我建议首先 运行在cmd中运行 (安装目录)apache/bin/httpd.exe 无法启动apach ...