没有合适的资源?快使用搜索试试~ 我知道了~
http协议1.1.docx 中文版,还算全吧
资源推荐
资源详情
资源评论
超文本传输协议-HTTP/1.1(修订版)
pdf 下载:/Files/sunchaojin/http1.3.pdf
说明
本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善。请参考
互联网官方协议标准”()来了解本协议的标准化状态。本协议不限流传发布。
版权声明
() ()
摘要
超文本传输协议()是一种为分布式,协作式的,超媒体信息系统。它是一种通用的,无状态
()的协议,除了应用于超文本传输外,它也可以应用于诸如名称服务器和分布对象管理系
统之类的系统,这可以通过扩展它的请求方法,错误代码和消息头 !"#来实现。 的一个特性就是
是数据表现形式是可以定义的和可协商性的,这就允许系统能独立于于数据传输被构建。
在 $ 年 %%% 全球信息刚刚起步的时候就得到了应用。本说明书详细阐述了 &
协议,是 '($)* 的修订版 ++#。
目录(略)
1 引论
1.1 目的
超文本传输协议()是一种为分布式的,协作的,超媒体信息系统,它是面向应用层的协议。
在 $ 年 %%% 全球信息刚刚起步的时候 就得到了应用。 的第一个版本叫做 &$,
是一种为互联网原始数据传输服务的简单协议。由 '!- )#定义的 &$ 进一步完善了这个
协议。它允许消息以类 ../ 消息的格式传送,它包括传输数据的元信息和对请求&响应语义的修饰。
但是,&$ 没有充分考虑到分层代理,缓存的,以及持久连接和虚拟主机的需求的影响。并且随
着不完善的 &$ 应用程序的激增,这就迫切需要一个新的版本,以便能使两个通信程序能够确定
彼此的真实能力。
此规范定义的协议叫做“&”,.这个协议与 &$ 相比,此规范更为严格,以确保各个协
议的特征得到可靠实现。
实际的信息系统除了简单的获取信息之外,还要求更多的功能,包括查找(),终端更新
(012)和注解()。 为请求提供可扩充方法集和消息头集
!"#。 是建立在统一资源标识符(3) +#的约束上的,作为一个地址(34) !#或名称
(35) ($#,以指定被一个方法使用的资源。消息以一种类似于互联网邮件 #消息格式来传输的,
互联网消息格式定义于多目的互联网邮件扩展(../) "#里。
也是用于用户代理(2)和其它互联网系统的代理&网关之间通信的通信协议,这
些互联网系统可能由 . )#,55 +#,' *#,6 (#和 % $#协议支持。通过这种
方式, 允许不同的应用程序对资源进行基本的超媒体访问。
1.2 要求
本文的关键词“必须”(7.37),,“不能”(7.3587),“需要”( 7/93/7), “应该”
(7447),“不应该”(744587),“应该”(78347),“不应该”( 7834
587),“建议的”( 7/8../5/7),“可能”(7.:7), 和“可选的”( 788547)将由
'( +!#解释。
一个应用程序如果不能满足协议提供的一个或多个 .3 或 /93/ 等级的要求,是不符合要
求的。一个应用程序如果满足所有必须(.3)或需要的(/93/)等级以及所有应该
(834)等级的要求,则被称为非条件遵循(2;)的;若满足所有必
须(.3)等级的要求但不能满足所有应该(834)等级的要求则被称为条件遵循的
(;)。
1.3 术语
本说明用到了若干术语,以表示 通信中各参与者和对象扮演的不同角色。
连接()
为通信而在两个程序间建立的传输层虚拟电路。
消息(;)
通信中的基本单元。它由一个结构化的八比特字节序列组成,与第 ! 章定义的句法相匹配,
并通过连接得到传送。
请求(<2)
一种 请求消息,参看第 - 章的定义。
响应()
一种 响应消息,参看第 ) 章的定义。
资源(2)
一种网络数据对象或服务,可以用第 +( 节定义的 3 指定。资源可以以多种表现方式(例如多种
语言,数据格式,大小和分辨率)或者根据其它方面而而不同的表现形式。
实体()
实体是请求或响应的有效承载信息。一个实体包含元信息和内容,元信息以实体头域(1
=)形式表示,内容以消息主体(1>)形式表示。在第 " 章详述。
表现形式 ()
一个响应包含的实体是由内容协商()决定的。如第 ( 章所述。有可能存在
一个特定的响应状态码对应多个表现形式。
内容协商()
当服务一个请求时选择资源的一种适当的表示形式的机制(;;),如第 ( 节所述。任何
响应里实体的表现形式都是可协商的(包括错误响应)。
变量()
在某个时刻,一个资源对应的表现形式()可以有一个或多个(译注:一个 3 请
求一个资源,但返回的是此资源对应的表现形式,这根据内容协商决定)。每个表现形式
()被称作一个变量。 ‘变量’这个术语的使用并不意味着资源(2)是由内容
协商决定的。
客户端()
为发送请求建立连接的程序。
用户代理(2)
初始化请求的客户端程序。常见的如浏览器,编辑器,蜘蛛(可网络穿越的机器人),或其他的终
端用户工具
服务器()
服务器是这样一个应用程序,它同意请求端的连接,并发送响应()。任何给定的程序都
有可能既做客户端又做服务器;我们使用这些术语是为了说明特定连接中应用程序所担当的角色,而不
是指通常意义上应用程序的能力。同样,任何服务器都可以基于每个请求的性质扮演源服务器,代理,
网关,或者隧道等角色之一。
源服务器(8)
存在资源或者资源在其上被创建的服务器()被成为源服务器()。
代理( ?)
代理是一个中间程序,它既可以担当客户端的角色也可以担当服务器的角色。代理代表客户端向服
务器发送请求。客户端的请求经过代理,会在代理内部得到服务或者经过一定的转换转至其他服务器。
一个代理必须能同时实现本规范中对客户端和服务器所作的要求。透明代理(?)需
要代理认证和代理识别,而不修改请求或响应。非透明代理(1?)需修改请求
或响应,以便为用户代理(2)提供附加服务,附加服务包括组注释服务,媒体类型转换,
协议简化,或者匿名过滤等。除非透明行为或非透明行为经被显式地声明,否则, 代理既是透明
代理也是非透明代理。
网关(@)
网关其实是一个服务器,扮演着代表其它服务器为客户端提供服务的中间者。与代理(?)不
同,网关接收请求,仿佛它就是请求资源的源服务器。请求的客户端可能觉察不到它正在同网关通信。
隧道(2)
隧道也是一个中间程序,它一个在两个连接之间充当盲目中继(>)的中间程序。一旦隧
道处于活动状态,它不能被认为是这次 通信的参与者,虽然 请求可能已经把它初始化了。
当两端的中继连接都关闭的时候,隧道不再存在。
缓存()
缓存是程序响应消息的本地存储。缓存是一个子系统,控制消息的存储、获取和删除。缓存里存放
可缓存的响应(>)为的是减少对将来同样请求的响应时间和网络带宽消耗。任一
客户端或服务器都可能含有缓存,但缓存不能存在于一个充当隧道(2)的服务器里。
可缓存的(>)
我们说响应()是可缓存的,如果这个响应可以被缓存()保存其副本,为的是能
响应后续请求。确定 响应的缓存能力(>)在 + 节中有介绍。即使一个资源
(2)是可缓存的,也可能存在缓存是否能利用此缓存副本为某个特定请求的约束。
第一手的(=1)
如果一个响应直接从源服务器或经过若干代理(?),并且没有不必要的延时,最后到达客户
端,那么这个响应就是第一手的(=1)。
如果响应通过源服务器()验证是有效性()的,那么这个响应也同样是第
一手的。
显式过期时间(??;)
是源服务器认为实体()在没有被进一步验证()的情况下,缓存()不
应该利用其去响应后续请求的时间(译注:也就是说,当响应的显式过期时间达到后,缓存必须要对其
缓存的副本进行重验证,否则就不能去利用此副本去响应后续请求)。
启发式过期时间(2?;)
当没有显式过期时间(??;)可利用时,由缓存指定过期时间
年龄()
一个响应的年龄是从被源服务器发送或被源服务器成功验证到现在的时间。
保鲜寿命(00;)
一个响应产生到过期之间的时间。
保鲜(')
如果一个响应的年龄还没有超过保鲜寿命(00;),那么它就是保鲜的。
陈旧()
一个响应的年龄已经超过了它的保鲜寿命(00;),那么就是陈旧的
语义透明(;)
缓存()可能会以一种语意透明(semantically transparent)的方式工作。这时,对于
一个特定的响应,使用缓存既不会对请求客户端产生影响也不会对源服务器产生影响,缓存的使用只是
为了提高性能。当缓存()具有语意透明时,客户端从缓存接收的响应跟直接从源服务器接收的
响应完全一致(除了使用 1>1 头域)。
验证器(A)
验证器其实是协议元素(例如:实体标签()或最后修改时间(1;=;)
等),这些协议元素被用于识别缓存里保存的副本(即缓存项)是否等价于源服务器的实体的副本。
剩余63页未读,继续阅读
资源评论
chunjuzhong
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功