Http报文小探
来源:互联网 发布:mac口红日本买便宜多少 编辑:程序博客网 时间:2024/05/22 09:03
曾经做过一个社交APP,大家都知道,像什么陌陌,什么微信,总少不了经常上传自拍照啊什么的.
对于观看者,为了帮助他们节省宝贵的流量,上传的照片,服务器一般都会单独再保存一个缩略图,客户端先读取那些缩略图,观看者发现感兴趣,再读取大图观看.
同样为了节省流量,这种大图是需要缓存在本地的,而图片何时过期何时,需要再重新从服务器读取,使我产生了研究下Http报文的念头.
在firefox上,有live http header这种插件,能帮我们抓取到报文的header.
下面是我使用firefox v26.0访问百度时产生的request报文头:
第一行是request-line,格式是:request-method URL Http版本,从这里看得出是Get方法.
第二行开始便是header: (这个地址完整详细的讲解报文头字段的含义: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)
Host表示服务器域名,结合request-line中的URL就是要访问的资源.
其他的我就跳过了.这里有一个Connection的字段,其值为keep-alive,表示客户端向服务器发起的http为持久连接.
下面看一个Post方法的请求:
可以看到Content-Length表示了报文Body的长度(因为是Post,所以才有).
最后一行就是body的内容,因为我抓取的是126邮箱的http报文,所以可以看到post的参数.
(我把我的邮箱密码用md5加密之后对比password,是能对上的=_=,
再多说一点,现在是有网站可以在线通过记录查询md5码对应值的,所以说么,大多数人的邮箱安全性....堪忧)
下面访问百度时,服务器所响应的报文头:
除了前面看到的GET和POST方法之外,还有HEAD方法.HEAD方法和GET方法一样,除了得到服务器的响应中没有消息体,而其他的报文头和GET方式得到的相同.
主要用来测试一个超文本链接的合法性,可连接性,以及最近的修改.
而询问服务器图片是否更改过的方法,是在报文中加入If-Modified-Since参数,如果该资源并没有在指定的时间段内修改,
response返回code304就表示资源未被修改过,如果资源修改过,则返回资源.
上面只是讲了寥寥几个参数,源文档还有好多参数及详细细节写了好大几页...
- Http报文小探
- HTTP报文
- HTTP报文
- HTTP报文
- Http报文
- HTTP报文
- HTTP报文
- HTTP报文
- HTTP报文
- Http 报文
- http报文
- HTTP报文
- HTTP报文
- HTTP报文
- HTTP报文
- HTTP报文
- Http报文
- HTTP报文
- 4Sum
- Ajax初学体验(2)[检验用户名是否重复的完整实例]
- C++之函数应用
- 维生素abc我挑我的
- ubuntu putty粘贴复制
- Http报文小探
- 3Sum
- 为什么程序要打包
- 简单字符驱动模板
- 华为3C、酷派大神、红米10号开枪!
- 1442 - Cav(扫描+推理)
- 解决打不开jar包
- Python字典排序的简单实现
- mongodb访问控制及iptables管理