RFC1945(HTTP)中文版(19)
发布时间:2021-06-08
发布时间:2021-06-08
HTTP是应用级协议,它适应了分布式超媒体协作系统对灵活性及速度的要求。它是一个一般的、无状态的、基于对象的协议,通过对其请求方法(request methods)进行扩展,可以被用于多种用途,比如命名服务器(name server)及分布式对象管理系统。 HTTP 的一个特性是其数据表现类型允许系统的构建不再依赖于要传输的数据。 HTTP 自从 1990 年就在 WWW 上被广泛使用。该规范反映了“HTTP/1.0”的普通用
5. 请求(Request)
从客户端到服务器端的请求消息包括,消息首行中,对资源的请求方法、资源的标识符及使用的协议。考虑到局限性更大的HTTP/0.9的向后兼容问题,有两种合法的HTTP请求格式:
Request = Simple-Request | Full-Request
Simple-Request = "GET" SP Request-URI CRLF
Full-Request = Request-Line ; Section 5.1
*( General-Header ; Section 4.3
| Request-Header ; Section 5.2
| Entity-Header ) ; Section 7.1
CRLF
[ Entity-Body ] ; Section 7.2
如果HTTP/1.0服务器收到简单请求,它必须回应一个HTTP/0.9格式的简单回应。 HTTP/1.0的客户端有能力接收完整回应,但不能产生简单请求。
5.1 请求队列(Request-Line)
请求队列以一个方法符号开头,跟在请求URI及协议版本的后面,以CRLF为结尾。该元素用空格SP分隔。除了最后的CRLF,不允许出现单独的CR或LF符。
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
注意,简单请求与完整请求的请求队列之间的区别在于是否有HTTP版本域和是否可以使用除GET以外的其它方法。
5.1.1 方法(Method)
方法代号指明了将要以何种方式来访问由请求URI指定的资源。方法是大小写敏感的。
Method = "GET" ; Section 8.1
|"HEAD" ; Section 8.2
| "POST" ; Section 8.3
| extension-method
extension-method = token
可以访问指定资源的方法列表是可以动态变化的;如果用某种方法访问资源被拒绝,客户端可从回应中的返回码得到通知。服务器端在方法无法识别或没有实现时,返回状态代码501(尚未没实现)。
这些方法被HTTP/1.0的应用程序普遍使用,完整定义请参见第8节。
上一篇:2013年EI收录期刊一览表