没有合适的资源?快使用搜索试试~ 我知道了~
(中文完整版)_HTTP协议1[1].1.doc
4星 · 超过85%的资源 需积分: 2 7 下载量 5 浏览量
2011-12-22
15:29:05
上传
评论
收藏 408KB DOC 举报
温馨提示
试读
64页
超文本传输协议(HTTP)是一种为分布式,合作式,多媒体信息系统服务,面向应用层的协议。它是一种通用的,不分状态(stateless)的协议,除了诸如名称服务和分布对象管理系统之类的超文本用途外,还可以通过扩展它的请求方式,错误代码和报头来完成许多任务。HTTP的一个特点是数据表示方式的典型性和可协商性允许独立于传输数据而建立系统。在1990年WWW全球信息刚刚起步的时候HTTP就得到了应用。HTTP的第一个版本叫做HTTP/0.9,是一种为互联网原始数据传输服务的简单协议。由RFC 1945定义的HTTP/1.0进一步完善了这个协议。它允许消息以类似MIME的格式传送,包括有关数据传输的维护信息和关于请求/应答的句法修正。但是,HTTP/1.0没有充分考虑到分层代理,高速缓存的作用以及对稳定连接和虚拟主机的需求。并且随着不完善的进程应用的激增,HTTP/1.0迫切需要一个新的版本,以便使两个通信应用程序能够确定彼此的真实性能。
资源推荐
资源详情
资源评论
超文本传输协议 中文版
摘要
超文本传输协议()是一种为分布式,合作式,多媒体信息系统服务,面
向应用层的协议。它是一种通用的,不分状态(的协议,除了诸如名称服
务和分布对象管理系统之类的超文本用途外,还可以通过扩展它的请求方式,错误代
码和报头来完成许多任务。 的一个特点是数据表示方式的典型性和可协商性允
许独立于传输数据而建立系统。在 年 全球信息刚刚起步的时候
就得到了应用。 的第一个版本叫做 是一种为互联网原始数据传输服
务的简单协议。由 定义的 进一步完善了这个协议。它允许消息
以类似 的格式传送,包括有关数据传输的维护信息和关于请求应答的句法修
正。但是, 没有充分考虑到分层代理,高速缓存的作用以及对稳定连接和
虚拟主机的需求。并且随着不完善的进程应用的激增, 迫切需要一个新的
版本以便使两个通信应用程序能够确定彼此的真实性能。
这里规定的协议叫做“这个协议与 相比,要求更为严格,
以确保各项功能得到可靠实现。
实际的信息系统除了简单的检索外,要求更多的功能性( !,包括
查找"#$,前端更新"# %&'&和注解" 。 允许可
扩充的方法集和报头集以指示请求的目的()*。它是建立在统一资源标识符(+)
(,*提供的地址(+-)(*和名字(+.)上(/*,以指出方法应用于哪个资源的。
消息以类似于一种叫做多用途网络邮件扩展()()*的互联网邮件的格式传送。
也是用于用户代理之间及代理网关到其他网络系统的通用通信协议,这样
的网络系统可能由 0..1 '$# 和 20 协议支持。这样, 允许
不同的应用程序对资源进行基本的超媒体访问。
1.3 术语
本说明用到了若干术语,以表示 通信中各参与者和对象扮演的不同角色。
连接()
为通信而在两个程序间建立的传输层虚拟电路。
消息
通信中的基本单元。它由一个结构化的八比特字节序列组成,与第 章定义的
句法相匹配,并通过连接得到传送。
请求
一种 请求消息,参看第 章的定义。
应答
一种 应答消息,参看第 3 章的定义。
资源
一种网络数据对象或服务,可以用第 ,/ 节定义的 + 描述。资源可以以多种表现方
式(例如多种语言,数据格式,大小和解决方案)或其他不同的途径获得。
实体
作为请求或应答的有效负荷而传输的信息一个实体包含报头形式的维护信息和消息
体形式的内容由第 ) 节详述
表示方法
一个应答包含的实体是由内容协商决定的如第 / 章所述一个特定的应答状态所对
应的表示方法可能有多个
内容协商
为请求服务时选择适当表示方法的机制(4$4如第 / 节所述任何应答里
实体的表示方法都是可协商的"包括出错应答
变量(
在任何给定时刻与一个资源对应的表示方法可以有一个或更多每个表示方法称作一
个变量使用变量这个术语并不必然意味着资源是由内容协商决定的
客户机()
为发送请求建立连接的程序
用户代理
初始化请求的客户端程序常见的如浏览器编辑器蜘蛛"网络穿越机器人或其他的终
端用户工具
服务器!"
同意连接以便通过发回应答为请求提供服务的应用程序任何给定的程序都有可以既
做客户端又做服务器5我们使用这些术语仅指特定连接中程序完成的任务而不是指通
常意义上程序的性能同样任何服务器都可以基于每个请求的性质扮演原服务器代理
网管或者隧道等诸角色之一。
原服务器(#"
给定的资源驻留或创建的地方
代理服务器( $)
一个既做服务器又做客户端的中介程序其用途是代表其他客户发送请求请求在内部
得到服务或者经过一定的翻译转至其他服务器一个代理服务器必须能同时履行本说
明中客户端和服务器要求6透明代理”(#'#'# 7!)是一种除了必需的验证
和鉴定外不修改请求或相应的代理6非透明代理”( %#'#'# 7!)是一
种修改请求或应答以便为用户代理提供附加服务的代理附加服务包括类注释服务媒
体类型转换协议简化或者匿名滤除等除非经明确指出 代理要求对两种代理都
适用
网关(%)
为其他服务器充当中介的服务器与代理服务器不同网关接收请求仿佛它就是被请求
资源所在的原服务器5提出请求的客户可能觉察不到它正在同网关通信
一个在两个连接之间充当盲目中继(8&#!的中间程序一旦有效隧道便不再
被认为是 通信的用户虽然隧道可能已经被 请求初始化了当两端的中继
连接都关闭的时候隧道不再存在
高速缓存(&)
一个程序应答信息的本地存储和控制此信息存储、检索和删除的子系统一个高速缓
冲存储器存储应答为的是减少对将来同样请求的应答时间和网络带宽消耗任一客户
或服务器都可能包含一个高速缓存但高速缓存不能应用于一个充当隧道的服务器
可缓存(&')
999999如果一个高速缓存允许存储应答信息的一份拷贝运用于应答后继请求的拷贝一
个应答就是可缓存的用来确定 应答的缓存能力($8!)的规则在 ,
节中有定义即使一个资源是可缓存的也可能对一个高速缓存能否将缓存拷贝用于某
特定请求存在附加的约束
直接((&))
99999如果一个应答直接到来并且没有缘于原服务器或若干代理服务器的不必要的延时
那么这个应答就是直接的如果它的有效性已经被原服务器直接认证那么这个应答也
同样是第一手的
明确终止时间($$*)
原服务器预算一个实体在无需进一步确认的情况下不再被高速缓存返回的时间
探索终止时间(&$*)
当没有外在的终止时间可利用时由高速缓存所指定的终止时间
年龄(+)
9999一个应答的年龄是从它被发送或被原服务器成功确认到现在的时间
保鲜寿命(,&-*)
一个应答生成和过期之间的时间长度
保鲜(,&)
如果一个应答的年龄还没有超过保鲜寿命它就是保鲜的
陈旧(!)
9999一个应答的年龄已经超过了它的保鲜寿命就是陈旧的
语义透明(*)
当它的使用除了改善性能外既未影响请求客户机也未影响原服务器时高速缓存对于
某特定的应答就是工作于语义透明方式了当高速缓存语义透明时客户恰好收到与原
服务器直接处理请求后得到的应答(除了逐段转接的报头部分)完全相同的应答。
有效性判别器())
9一个用来查找一个高速缓存记录是否是一个实体的等效拷贝的协议元素"例如一个
实体标记(!:)或最终更改时间(-% &;&4
上游下游(*)%*)
上游和下游描述了消息的流动<所有消息都从上游流到下游
向内向外(')'))
向内和向外指的是消息的请求和应答路径<向内即移向原服务器向外即移向用
户代理
..总体操作
协议是一种请求应答协议。 与主机建立连接后,客户以请求方法,+
和协议版本的形式向服务器发送请求,继以类 信息,其中包括请求修改,客户
信息和可能的正文内容。
服务器用包括消息协议版本和成功或错误代码的状态进行应答,继以包括服务器
信息,实体维护信息和可能的实体内容的类 消息。 和 之间的关系
如附录 节所阐述。
大部分的 通信由用户代理引发,由应用到一些原服务器上资源的请求构成。
最简单的情形,可以经用户代理(+2)和原服务器(=)之间的单一连接(>)完成。
请求链%%%%%%%%%%%%%%%%%%%%%%%%?用户代理"+2%%%%%%%%%%%%%%%%%%%单一连接
(>%%%%%%%%%%%%%%%%%%%原服务器(=) @%%%%%%%%%%%%%%%%%%%%%%%应答链
当一个或一个以上的中介在请求应答链中出现的时候,会出现更复杂的情形。
常见的中介形式有三种:代理,网关和隧道。代理是一种转送工具,它接收绝对形式
的 + 请求,重写全部或部分消息,然后把重新格式化后的请求发送到 + 确定的服
务器上。网关是一种接收工具,它充当其他服务器的上层,必要时将请求翻译为下层
服务器的协议。隧道不改变消息而充当两个连接之间的中继点;它用于通信需要穿过
中介(如防火墙),甚至中介不能理解信息内容的时候。
请求链%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?+2%%%%%>%%%%%2%%%%%>%%%%%A%%%%%>%%%%%%%%%%
>%%%%%=@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%应答链
上图显示了用户代理和原服务器之间的三个中介(2,A 和 。游历整条链的请
求或应答消息需通过四个独立的连接。这个特性很重要,因为某些 通信选项只
能应用于到最近的非隧道邻居,链的终点的连接,或者沿着链的所有连接。图表尽管
是线性的,每部分可能都在忙于多路同时通信。例如,A 可以接收来自不同于 2 的许
多客户的请求,并且/或者转送到不同于 的服务器,与此同时,它还在处理 2 的请
求。
任何非隧道的通信成员都可以使用内部的高速缓存来处理请求。高速缓存的作用
是如果沿着链的一个成员对请求采用了高速缓冲的应答,请求应答链就会大大缩短。
以下图解作为结果产生的链,假定 A 拥有来自 =(通过 )的一个从前应答的备份,
请求尚未被 +2 或 2 缓存。
请求链%%%%%%%%%%?+2%%%%%>%%%%%%%%%%2%%%%%>%%%%%A%%%%%%%%%=@%%%%%%%%%应答链
并不是所有的应答都能有效地缓存,一些请求可能含有修改量,对缓存动作有特
殊的要求。缓存动作和缓存应答的 要求将在第 , 节定义。
实际上,目前万维网上有多种结构和配置的高速缓存和代理被实验或使用。这些
系统包括节省越洋带宽的全国代理层,广播或多点通信缓存接口, 通过 B%= 分
配子缓存数据的机构,等等。 系统应用在宽频带连接的企业局域网中,通过
B2 的低耗无线连接和断续连接的访问。 的目标是支持各种各样的应用配
置,引进协议结构满足那些需要较高可靠性,可以排除故障或至少指示故障的网络应
用的要求。
通信在通常发生在 IP连接上。默认端口是 C不过其它端口也
可以使用。在互联网或其他网络上,这并不妨碍 应用在其他协议的顶端。
& 仅仅期望可靠的传输;任何提供这种保证的协议都可以使用;协议传输数据单
元的 请求和应答结构的映象已经超出了本说明书的范围。
在 $' 中,大部分的实现为每个请求应答交换使用了新连接。而 $'
中,一个连接可以用于一个或更多请求应答交换,虽然连接可能会因为各种原因中
断(见第 C 节)。
3.3 日期/时间格式
//完整日期
历史上的 应用一直允许三种不同的表示日期时间印记的格式<
03. >C<<,)195C//'&&8!/,
0&!3%. >%C<<,)15C 8 &8!,3
0. >93C<<,)99999952.0D4" #4
剩余63页未读,继续阅读
资源评论
- hongtuzi2012-12-12很好的HTTP协议资料,谢谢分享!
ONLYOUANGIE
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功