您的位置:首页 > 理论基础 > 计算机网络

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: