HTTP协议学习总结
一、建立连接方面
HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。优点是减少重复进行TCP三次握手的开销,提高效率。
注意:在同一个TCP连接中,新的请求需要等上次请求收到响应后,才能发送。
二、Host域
HTTP1.1在Request消息头里头多了一个Host域, HTTP1.0则没有这个域。
Eg:GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
可能HTTP1.0的时候认为,建立TCP连接的时候已经指定了IP地址,这个IP地址上只有一个host。
请求消息格式如下所示:
请求行
通用信息头|请求头|实体头
CRLF(回车换行)
实体内容
其中“请求行”为:请求行 = 方法 [空格] 请求URI [空格] 版本号 [回车换行]
请求行实例:
Eg1:GET /index.html HTTP/1.1
Eg2: POST http://192.168.2.217:8080/index.jsp HTTP/1.1
HTTP请求消息实例:
GET /hello.htm HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 17 Oct 2007 02:15:55 GMT
If-None-Match: W/"158-1192587355000"
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 192.168.2.162:8080
Connection: Keep-Alive
HTTP的请求方法包括如下几种:
q GET
q POST
q HEAD
q PUT
q DELETE
q OPTIONS
q TRACE
q CONNECT
五、Fiddler的功能简介
Fiddler有记录,找到Web程序运行性能的瓶颈,调试Microsoft Internet Explorer与Web应用程序的交互,还有如查看向Web服务器发送cookies的内容,下载内容的大小等功能。Fiddler位于用户与Web服务器的中间,由它转发请求与响应,因此Fiddler作为一个可检视,可定制的工具,能让我们了解交互过程细节,有利于解决Web程序的交互问题。
Fiddler的功能:
1)性能测试。如查看页面的大小
2)调试。在会话选项中,可暂停,编辑HTTP通讯
3)Fiddler不仅可用于Microsoft Internet Explorer,还可以用于Mozilla Firefox,Opera等其它浏览器。
Fiddler支持断点调试概念,当你在软件的菜单—rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯, 情切允许修改请求和响应。这种功能对于安全测试是非常有用的,当然也可以用来做一般的功能测试,因为所有的代码路径都可以用来演习。
通过暴露所有的HTTP通讯,Fiddler很容易得向你展示哪些文件经常被用于生成一个页面, Shift+click 可以在Fiddler左边框的会话列表中多选会话,来计算那些被选会话的“页面总重量”。那些被转换成字节的数量。如果你想让你的客户在第一次访问的时候就留下深刻的印象 ,那么最好的,也是唯一的途径就是返回给客户更少的文件。
原文地址:http://www.cnblogs.com/maomiyy/p/3762191.html