HTTP协议摘要
2014-04-06 11:00
351 查看
HTTP-message = Request | Response ; HTTP/1.1 messages
generic-message = start-line *(message-header CRLF) CRLF [ message-body ]
start-line = Request-Line | Status-Line
Method = "OPTIONS" ;
| "GET" ;
| "HEAD" ;
| "POST" ;
| "PUT" ;
| "DELETE" ;
| "TRACE" ;
| "CONNECT" ;
| extension-method
extension-method = token
message-header=*(general-header)[request-header|response-header]*(entity-header)
general-header 一般可应用于请求和响应消息上,但不应用到传输的实体上。这些头部域只应用到正在传输的消息上。
general-header = Cache-Control
| Connection ;
| Date ;
| Pragma ;
| Trailer ;
| Transfer-Encoding ;
| Upgrade ;
| Via ;
| Warning ;
Request = Request-Line ;
*(( general-header ;
| request-header ;
| entity-header ) CRLF) ;
CRLF
[ message-body ] ;
request-header域允许客户端传输关于请求和关于客户端自己的额外信息给服务器。这些域拌演请求修饰符,与编程语言方法符号上的参数有相同的语义。
request-header = Accept ;
| Accept-Charset ;
| Accept-Encoding ;
| Accept-Language ;
| Authorization ;
| Expect ;
| From ;
| Host ;
| If-Match ;
| If-Modified-Since ;
| If-None-Match ;
| If-Range ;
| If-Unmodified-Since ;
| Max-Forwards ;
| Proxy-Authorization ;
| Range ;
| Referer ;
| TE ;
| User-Agent ;
Response = Status-Line ;
*(( general-header ;
| response-header ;
| entity-header ) CRLF) ;
CRLF
[ message-body ] ;
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
response-heder域允许服务器传递不能放在Status-Line中的关于响应的额外信息。这些头部域给出关于服务器和关于对Request-URI所标识资源的以后访问。
response-header = Accept-Ranges ;
| Age ;
| ETag ;
| Location ;
| Proxy-Authenticate ;
| Retry-After ;
| Server ;
| Vary ;
| WWW-Authenticate ;
entity-header域定义关于entity-body的元信息,或当主体不存在时关于请求标识的资源。该元信息中的一些是【可选的】;一些可能是【要求的】,由该规范的各部分定义。
entity-header = Allow ;
| Content-Encoding ;
| Content-Language ;
| Content-Length ;
| Content-Location ;
| Content-MD5 ;
| Content-Range ;
| Content-Type ;
| Expires ;
| Last-Modified ;
| extension-header
extension-header = message-header
HTTP消息的message-body(如果存在)用于挟带与请求或响应相关联的entity-body。message-body 只有在应用了transfer-coding 时,通过Transfer-Encoding 头部域指出,与entity-body不同。
message-body = entity-body | <按每个Transfer-Encoding编码的entity-body>
generic-message = start-line *(message-header CRLF) CRLF [ message-body ]
start-line = Request-Line | Status-Line
Method = "OPTIONS" ;
| "GET" ;
| "HEAD" ;
| "POST" ;
| "PUT" ;
| "DELETE" ;
| "TRACE" ;
| "CONNECT" ;
| extension-method
extension-method = token
message-header=*(general-header)[request-header|response-header]*(entity-header)
general-header 一般可应用于请求和响应消息上,但不应用到传输的实体上。这些头部域只应用到正在传输的消息上。
general-header = Cache-Control
| Connection ;
| Date ;
| Pragma ;
| Trailer ;
| Transfer-Encoding ;
| Upgrade ;
| Via ;
| Warning ;
Request = Request-Line ;
*(( general-header ;
| request-header ;
| entity-header ) CRLF) ;
CRLF
[ message-body ] ;
request-header域允许客户端传输关于请求和关于客户端自己的额外信息给服务器。这些域拌演请求修饰符,与编程语言方法符号上的参数有相同的语义。
request-header = Accept ;
| Accept-Charset ;
| Accept-Encoding ;
| Accept-Language ;
| Authorization ;
| Expect ;
| From ;
| Host ;
| If-Match ;
| If-Modified-Since ;
| If-None-Match ;
| If-Range ;
| If-Unmodified-Since ;
| Max-Forwards ;
| Proxy-Authorization ;
| Range ;
| Referer ;
| TE ;
| User-Agent ;
Response = Status-Line ;
*(( general-header ;
| response-header ;
| entity-header ) CRLF) ;
CRLF
[ message-body ] ;
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
response-heder域允许服务器传递不能放在Status-Line中的关于响应的额外信息。这些头部域给出关于服务器和关于对Request-URI所标识资源的以后访问。
response-header = Accept-Ranges ;
| Age ;
| ETag ;
| Location ;
| Proxy-Authenticate ;
| Retry-After ;
| Server ;
| Vary ;
| WWW-Authenticate ;
entity-header域定义关于entity-body的元信息,或当主体不存在时关于请求标识的资源。该元信息中的一些是【可选的】;一些可能是【要求的】,由该规范的各部分定义。
entity-header = Allow ;
| Content-Encoding ;
| Content-Language ;
| Content-Length ;
| Content-Location ;
| Content-MD5 ;
| Content-Range ;
| Content-Type ;
| Expires ;
| Last-Modified ;
| extension-header
extension-header = message-header
HTTP消息的message-body(如果存在)用于挟带与请求或响应相关联的entity-body。message-body 只有在应用了transfer-coding 时,通过Transfer-Encoding 头部域指出,与entity-body不同。
message-body = entity-body | <按每个Transfer-Encoding编码的entity-body>
相关文章推荐
- http协议之digest(摘要)认证
- 摘要HTTP 请求响应协议初识
- Http协议(5)—HTTP摘要认证
- Netty与TCP、HTTP、WebSocket协议简明摘要
- RESTful Web API中的Http协议语义
- HTTP协议 (五) 代理
- HTTP协议中的8种方法:Options,Head,Get,Post,put,Delete,Trace,Connect
- HTTP请求三次握手协议
- Linux网络编程一步一步学-自己编写一个HTTP协议的目录浏览和文件下载服务器
- 网络协议::HTTP详解
- http七层协议,三次握手,四次挥手 TCP&UDP
- HTTP 协议详解
- Http协议介绍
- http 协议
- HTTP协议【详解】——面试常问
- HTTP协议的头信息详解
- http协议分析
- ASIHttpRequest 摘要
- 详解iPhone应用中HTTP上传请求协议
- HTTP协议详解