firebug使用
查看网页的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使用的更多相关文章
- 开发者最爱的Firebug停止更新和维护
近日,Firebug团队在其官网上宣布,Firebug将不再继续开发和维护,并邀请大家使用Firefox的内置开发工具. Firebug最初是2006年1月由Joe Hewitt编写, ...
- firebug不能加载JS文件 ,无法进行JS脚本调试
提示: 本页面不包含 Javascript 如果 <script> 标签有 "type" 属性,其值应为 "text/javascript" 或者& ...
- Firebug中调试中的js脚本中中文内容显示为乱码
Firebug中调试中的js脚本中中文内容显示为乱码 设置 页面 UFT-8 编码没用, 解决方法:点击 "Firebug"工具栏 中的"选项"---" ...
- Firebug调试js代码
Firebug功能异常强大,不仅可以调试DOM,CSS,还可以调试JS代码,下面介绍一下调试JS. 1.认识console对象 console对象是Firebug内置的对象,该对象可以在代码中写入,可 ...
- 修改Firebug字体
Firebug是一件非常好用的调试工具,然而默认的字体有些单调,设置里又没有更改的选项,那么字体到底能不能更改呢?这个问题困扰了我好久,直到今天我才偶然发现了解决方案. Firebug属于火狐的一个插 ...
- Selenium FF WebDriver 加载firebug 和设置代理
首先这次使用的webDriver for Firefox的 由于项目的原因,需要在测试的时候加载Firebug和使用vpn,加载代理 Firefox 加载代理,可以从FF菜单上看,代理分为好几种 我这 ...
- [资源分享]yslow 与firebug 修复版本Firefox35【绿色版本下载】
自从火狐也开始做版本帝后,相关查的插件越来越不好使了, 而且火狐集成自己的调试工具,也不是很好使用,Yslow 也坏掉了 找公司写c++修复了下 把yslow和Firebug 打包到一起,而且关闭自动 ...
- 10分钟学会前端调试利器——FireBug
概述 FireBug是一个用于网站前端开发的工具,它是FireFox浏览器的一个扩展插件.它可以用于调试JavaScript.查看DOM.分析CSS.监控网络流量以及进行Ajax交互等.它提供了几乎前 ...
- 利用firebug调试功能辅助了解闭包和this
算一算,有段时间没写博客. 上午的时候翻看以前收藏的一个系列博文<深入理解javascript原型和闭包>, 讲闭包那节:http://www.cnblogs.com/wangfupeng ...
- 工欲善其事必先利其器——web调试工具firebug
一.Firebug工具简介 firebug是firefox下的一款开发类插件.firebug集html查看和编辑,JavaScript控制台,网络状况监视器于一体,是开发JavaScript,css, ...
随机推荐
- The type MultipartEntity is deprecated
在HttpCient4.3之前上传文件主要使用MultipartEntity这个类,但如今这个类已经不在推荐使用了(过时了).随之替代它的类是MultipartEntityBuilder.关于Mult ...
- sql server 实现sleep延时
sql server中实现与C++ 中Sleep类似的功能,可以使用 waitfor delay '00:00:00:10' 表示延时10毫秒
- Eclipse用法和技巧二十三:查看JDK源码
使用java开发,如果能阅读JDK的经典代码,对自己的水平提高是很有帮助的.笔者在实际工作中总结了两种阅读JDK源码的方式.第一种下载android源代码,直接在android源码代码中,这里的代码虽 ...
- SQL Server使用问题总结
1.datetime,smalldatetime,date的区别 1)datetime 从1753年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(等于 3.33毫秒或0.0 ...
- Oracle 的一张表没有主键,如何映射Hibernate
我的一个Oracle表,没有任何主键,然后生成的时候就将所有的字段都作为联合主键,如果所有的字段都做联合主键的话,这样只要一个字段为null,查询的话这条记录就不能查询到. 然后我想到Oracle数据 ...
- Do not wait until the conditions are perfect to begin. Beginning makes the conditions perfect(转)
名言金句总是不嫌多,美国<公司>杂志(Inc.)列出让你在 2015 年受用无穷的十大金句,每天选一则当作一天的心灵指导,不只学习前人的精神和智慧,也能转化成工作和生活的动力!Cheers ...
- Fedora 17 下安装codeblocks
Fedora 17 下安装codeblocks: 1.直接从yum源安装: sudo yum install codeblocks 2.源码安装 ...
- Linux/ubuntu下的boost库安装
我一直都没有写博客的习惯,最近正好在研究linux下的开发(目前也只是粗粗的研究),且用到了boost库,就乘此机会写点什么,最起码记录一下我在安装boost的一些步骤,主要给和我一样的linux开发 ...
- 为什么java源文件中只允许一个public类存在
1.提出问题 为什么java源文件中只允许一个public类存在? 2.分析问题 问题涉及到的条件:源文件的名字 public类 main方法 一般我们在编写一个源文件的时候: 一个pu ...
- Servlet的学习之Session(2)
在上一篇中我们学习了Session对象默认在一个会话过程中,由服务器创建,能保存在这个会话过程中用户访问多个web资源时产生的需要保存的数据,并在访问服务器中其他web资源时可以将这些数据从Sessi ...