http报文格式

http报文格式

ID:20544143

大小:338.50 KB

页数:15页

时间:2018-10-13

http报文格式_第1页
http报文格式_第2页
http报文格式_第3页
http报文格式_第4页
http报文格式_第5页
资源描述:

《http报文格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.协议简介和应用1.1协议介绍HTTP(HypertextTransferProtocol,超文本传输协议)是目前最常用的应用层协议之一,这里只对协议做一个简单的介绍。HTTP自1990年以来就被全球信息网采用为基础通讯协议,它是一种应用层的通讯协议,特性是轻便、快速,特别适合如Web这种分布式、合作式的超媒体信息系统。HTTP虽早自1990年起就已被普遍使用,但过去许多年并无统一规范,此项不明确的规范后来通称为HTTP/0.9。直到1996年6月一份仅供参考的文件才由InternetSociety的HTTPWorkingGroup出版,称为HTTP/1.0。HTTP/

2、1.0传输格式就像大部分的网络通讯协议,HTTP使用C/S模式。但是,HTTP/1.0没有充分考虑到分层代理,高速缓存的作用以及对稳定连接和虚拟主机的需求。并且随着不完善的进程应用的激增,HTTP/1.0迫切需要一个新的版本,以便使两个通信应用程序能够确定彼此的真实性能。这里规定的协议叫做“HTTP/1.1”,这个协议与HTTP/1.0相比,要求更为严格,以确保各项功能得到可靠实现。1.2协议常见的应用环境在我们日常生活中最常见的应用环境就是上网浏览网页,很多上班族到办公室的第一件事就是打开电脑,而开机后的第一件事就是打开IE、Firefox、Myie、GreenBrow

3、ser、Opera等浏览器时,做的第一件事就是浏览一下例如www.sina.com.cn,www.163.com的新闻,而这种简单的应用操作,完成的交互过程就是一个典型的HTTP协议的应用过程。1.2.1正常连接的应用环境基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。如图1HTTP_图1显而易见有如下4个交互的过程:1.2.1.1建立连接  连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网

4、络向外传送。通俗地说就是TCP的三次握手。1.2.1.2发送请求 首先,这个消息是用普通的ASCII文本书写的。这个消息共有多行(每行以一个回车符和一个换行符结束),最后一行后面还有额外的一个回车符和换行符。当然,一个请求消息也可以仅仅只有一行。请求的报文中包含了各种信息,包括客户端想要访问的URL,HTTP的版本,支持的浏览的字体等内容。详细分析见2.2.1请求报文字段。1.2.1.3发送响应  服务器在处理完客户的请求之后,要向客户机发送响应消息。这个响应消息分为3部分:1个起始的状态行(statusline),6个头部行(不固定)、1个包含所请求对象本身的附属体。状

5、态行有3个字段:协议版本字段、状态码字段、原因短语字段。详细分析见2.2.2应答报文字段。1.2.1.4关闭连接  客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话。通俗地说就是TCP的4次握手断开。常见的应用环境就是这样,实际生活中可能就是多了一个NAT转换,其实过程都是一样的。1.2.2通过代理上网的应用环境在很多网络安全产品中,提供了HTTP过滤的功能,要求客户在IE浏览器上做一个【Internet选项】->【连接】->【局域网设置】的更改,配置代理的ip和端口。如下图2:HTTP_图2点击【局域网设置】后输入ip和端口,并钩选“为LAN使用代理服务器”如

6、下图3:HTTP_图3客户端和代理主机间用交换机相连,下面的拓扑中为了看得更加清晰并没有画出交换机。下面是一个简单的拓扑图4:HTTP_图4详细的交互过程分析参见:3.32.协议分析HTTP报文格式并不复杂,但是各个字段类型数量庞大,这里只对常见的字段进行分析。对于下面字段说明中出现的一些常见字符作一下说明:“文字”文字原文使用引号。除特殊情况,原文对外界不敏感。规则1

7、规则2由竖线("

8、")分开的元素是可选的,例如,"yes

9、no"表示yes或no都是可接受的。(规则1规则2)围在括号里的多个元素视作一个元素。这样“(elem(foo

10、bar)elem)”允许标记序列“

11、elemfooelem”和elembarelem”。*规则前面的字符"*"表示重复。完整的形式是"*元素",表示元素至少出现次,至多出现次。默认值是0和无穷大,所以"*(元素)"允许任何数值,包括零;"1*元素"至少需要一次;"1*2element"允许一次或两次。[规则]方括号里是任选元素;"[foobar]"相当于"*1(foobar)"。2.1报文格式对于HTTP的报文格式分析,就是两种格式,因为基于C/S的访问应答模式,所以一个是请求的报文格式,而另一个是应答的报文格式。2.1.1请求报文格式先看一下请求报文格式的作图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。