draft-lafon-rfc2616bis-04.abnf.txt | draft-lafon-rfc2616bis-latest.abnf.txt | |||
---|---|---|---|---|
OCTET = <any 8-bit sequence of data> | OCTET = <any 8-bit sequence of data> | |||
CHAR = <any US-ASCII character (octets 0 - 127)> | CHAR = <any US-ASCII character (octets 0 - 127)> | |||
UPALPHA = <any US-ASCII uppercase letter "A".."Z"> | UPALPHA = <any US-ASCII uppercase letter "A".."Z"> | |||
LOALPHA = <any US-ASCII lowercase letter "a".."z"> | LOALPHA = <any US-ASCII lowercase letter "a".."z"> | |||
ALPHA = UPALPHA | LOALPHA | ALPHA = UPALPHA | LOALPHA | |||
DIGIT = <any US-ASCII digit "0".."9"> | DIGIT = <any US-ASCII digit "0".."9"> | |||
CTL = <any US-ASCII control character | CTL = %x00-1F | %x7F | |||
(octets 0 - 31) and DEL (127)> | ; (octets 0 - 31) and DEL (127) | |||
CR = <US-ASCII CR, carriage return (13)> | CR = <US-ASCII CR, carriage return (13)> | |||
LF = <US-ASCII LF, linefeed (10)> | LF = <US-ASCII LF, linefeed (10)> | |||
SP = <US-ASCII SP, space (32)> | SP = <US-ASCII SP, space (32)> | |||
HT = <US-ASCII HT, horizontal-tab (9)> | HT = <US-ASCII HT, horizontal-tab (9)> | |||
<"> = <US-ASCII double-quote mark (34)> | DQUOTE = <US-ASCII double-quote mark (34)> | |||
CRLF = CR LF | CRLF = CR LF | |||
LWS = [CRLF] 1*( SP | HT ) | LWS = [CRLF] 1*( SP | HT ) | |||
TEXT = <any OCTET except CTLs, | TEXT = %x20-7E | %x80-FF | LWS | |||
but including LWS> | ; any OCTET except CTLs, but including LWS | |||
HEX = "A" | "B" | "C" | "D" | "E" | "F" | HEX = "A" | "B" | "C" | "D" | "E" | "F" | |||
| "a" | "b" | "c" | "d" | "e" | "f" | DIGIT | | "a" | "b" | "c" | "d" | "e" | "f" | DIGIT | |||
token = 1*<any CHAR except CTLs or separators> | ||||
separators = "(" | ")" | "<" | ">" | "@" | separators = "(" | ")" | "<" | ">" | "@" | |||
| "," | ";" | ":" | "\" | <"> | | "," | ";" | ":" | "\" | DQUOTE | |||
| "/" | "[" | "]" | "?" | "=" | | "/" | "[" | "]" | "?" | "=" | |||
| "{" | "}" | SP | HT | | "{" | "}" | SP | HT | |||
tchar = "!" | "#" | "$" | "%" | "&" | "'" | "*" | "+" | "-" | ||||
| "." | "^" | "_" | "`" | "|" | "~" | DIGIT | ALPHA | ||||
; any CHAR except CTLs or separators | ||||
token = 1*tchar | ||||
comment = "(" *( ctext | quoted-pair | comment ) ")" | comment = "(" *( ctext | quoted-pair | comment ) ")" | |||
ctext = <any TEXT excluding "(" and ")"> | ctext = %x20-27 | %x2A-7E | %x80-FF | LWS | |||
; any TEXT excluding "(" and ")" | ||||
quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) | quoted-string = ( DQUOTE *(qdtext | quoted-pair ) DQUOTE ) | |||
qdtext = <any TEXT excluding <"> and "\"> | qdtext = %x20-21 | %x23-5B | %x5D-7E | %x80-FF | LWS | |||
; any TEXT excluding DQUOTE and "\" | ||||
quoted-pair = "\" CHAR | quoted-pair = "\" CHAR | |||
HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT | HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT | |||
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] | absoluteURI = <absoluteURI, defined in [RFC2396], Section 3> | |||
authority = <authority, defined in [RFC2396], Section 3.2> | ||||
path-absolute = <abs_path, defined in [RFC2396], Section 3> | ||||
port = <port, defined in [RFC2396], Section 3.2.2> | ||||
query = <query, defined in [RFC2396], Section 3.4> | ||||
relativeURI = <relativeURI, defined in [RFC2396], Section 5> | ||||
uri-host = <host, defined in [RFC2396], Section 3.2.2> | ||||
HTTP-date = rfc1123-date | rfc850-date | asctime-date | http-URL = "http:" "//" uri-host [ ":" port ] [ path-absolute [ "?" query ]] | |||
HTTP-date = rfc1123-date ; for use in message producers | ||||
| obsolete-date ; only allowed in message parsing | ||||
obsolete-date = rfc850-date | asctime-date | ||||
rfc1123-date = wkday "," SP date1 SP time SP "GMT" | rfc1123-date = wkday "," SP date1 SP time SP "GMT" | |||
rfc850-date = weekday "," SP date2 SP time SP "GMT" | rfc850-date = weekday "," SP date2 SP time SP "GMT" | |||
asctime-date = wkday SP date3 SP time SP 4DIGIT | asctime-date = wkday SP date3 SP time SP 4DIGIT | |||
date1 = 2DIGIT SP month SP 4DIGIT | date1 = 2DIGIT SP month SP 4DIGIT | |||
; day month year (e.g., 02 Jun 1982) | ; day month year (e.g., 02 Jun 1982) | |||
date2 = 2DIGIT "-" month "-" 2DIGIT | date2 = 2DIGIT "-" month "-" 2DIGIT | |||
; day-month-year (e.g., 02-Jun-82) | ; day-month-year (e.g., 02-Jun-82) | |||
date3 = month SP ( 2DIGIT | ( SP 1DIGIT )) | date3 = month SP ( 2DIGIT | ( SP 1DIGIT )) | |||
; month day (e.g., Jun 2) | ; month day (e.g., Jun 2) | |||
time = 2DIGIT ":" 2DIGIT ":" 2DIGIT | time = 2DIGIT ":" 2DIGIT ":" 2DIGIT | |||
skipping to change at line 79 ¶ | skipping to change at line 95 ¶ | |||
transfer-coding = "chunked" | transfer-extension | transfer-coding = "chunked" | transfer-extension | |||
transfer-extension = token *( ";" parameter ) | transfer-extension = token *( ";" parameter ) | |||
parameter = attribute "=" value | parameter = attribute "=" value | |||
attribute = token | attribute = token | |||
value = token | quoted-string | value = token | quoted-string | |||
Chunked-Body = *chunk | Chunked-Body = *chunk | |||
last-chunk | last-chunk | |||
trailer | trailer-part | |||
CRLF | CRLF | |||
chunk = chunk-size [ chunk-extension ] CRLF | chunk = chunk-size [ chunk-extension ] CRLF | |||
chunk-data CRLF | chunk-data CRLF | |||
chunk-size = 1*HEX | chunk-size = 1*HEX | |||
last-chunk = 1*("0") [ chunk-extension ] CRLF | last-chunk = 1*("0") [ chunk-extension ] CRLF | |||
chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] ) | chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] ) | |||
chunk-ext-name = token | chunk-ext-name = token | |||
chunk-ext-val = token | quoted-string | chunk-ext-val = token | quoted-string | |||
chunk-data = chunk-size(OCTET) | ||||
trailer = *(entity-header CRLF) | chunk-data = 1*OCTET ; a sequence of chunk-size octets | |||
trailer-part = *(entity-header CRLF) | ||||
media-type = type "/" subtype *( ";" parameter ) | media-type = type "/" subtype *( ";" parameter ) | |||
type = token | type = token | |||
subtype = token | subtype = token | |||
product = token ["/" product-version] | product = token ["/" product-version] | |||
product-version = token | product-version = token | |||
qvalue = ( "0" [ "." 0*3DIGIT ] ) | qvalue = ( "0" [ "." 0*3DIGIT ] ) | |||
| ( "1" [ "." 0*3("0") ] ) | | ( "1" [ "." 0*3("0") ] ) | |||
language-tag = primary-tag *( "-" subtag ) | language-tag = primary-tag *( "-" subtag ) | |||
primary-tag = 1*8ALPHA | primary-tag = 1*8ALPHA | |||
subtag = 1*8ALPHA | subtag = 1*8ALPHA | |||
Language-Tag = <defined in [RFC4646], Section 2.1> | ||||
entity-tag = [ weak ] opaque-tag | entity-tag = [ weak ] opaque-tag | |||
weak = "W/" | weak = "W/" | |||
opaque-tag = quoted-string | opaque-tag = quoted-string | |||
range-unit = bytes-unit | other-range-unit | range-unit = bytes-unit | other-range-unit | |||
bytes-unit = "bytes" | bytes-unit = "bytes" | |||
other-range-unit = token | other-range-unit = token | |||
HTTP-message = Request | Response ; HTTP/1.1 messages | HTTP-message = Request | Response ; HTTP/1.1 messages | |||
generic-message = start-line | generic-message = start-line | |||
*(message-header CRLF) | *(message-header CRLF) | |||
CRLF | CRLF | |||
[ message-body ] | [ message-body ] | |||
start-line = Request-Line | Status-Line | start-line = Request-Line | Status-Line | |||
message-header = field-name ":" [ field-value ] | message-header = field-name ":" [ field-value ] | |||
field-name = token | field-name = token | |||
field-value = *( field-content | LWS ) | field-value = *( field-content | LWS ) | |||
field-content = <the OCTETs making up the field-value | field-content = <field content> | |||
and consisting of either *TEXT or combinations | ; the OCTETs making up the field-value | |||
of token, separators, and quoted-string> | ; and consisting of either *TEXT or combinations | |||
; of token, separators, and quoted-string | ||||
message-body = entity-body | message-body = entity-body | |||
| <entity-body encoded as per Transfer-Encoding> | | <entity-body encoded as per Transfer-Encoding> | |||
general-header = Cache-Control ; Section 14.9 | general-header = Cache-Control ; Section 14.9 | |||
| Connection ; Section 14.10 | | Connection ; Section 14.10 | |||
| Date ; Section 14.18 | | Date ; Section 14.18 | |||
| Pragma ; Section 14.32 | | Pragma ; Section 14.32 | |||
| Trailer ; Section 14.40 | | Trailer ; Section 14.40 | |||
| Transfer-Encoding ; Section 14.41 | | Transfer-Encoding ; Section 14.41 | |||
skipping to change at line 165 ¶ | skipping to change at line 186 ¶ | |||
| "POST" ; Section 9.5 | | "POST" ; Section 9.5 | |||
| "PUT" ; Section 9.6 | | "PUT" ; Section 9.6 | |||
| "DELETE" ; Section 9.7 | | "DELETE" ; Section 9.7 | |||
| "TRACE" ; Section 9.8 | | "TRACE" ; Section 9.8 | |||
| "CONNECT" ; Section 9.9 | | "CONNECT" ; Section 9.9 | |||
| extension-method | | extension-method | |||
extension-method = token | extension-method = token | |||
Request-URI = "*" | Request-URI = "*" | |||
| absoluteURI | | absoluteURI | |||
| abs_path [ "?" query ] | | path-absolute [ "?" query ] | |||
| authority | | authority | |||
request-header = Accept ; Section 14.1 | request-header = Accept ; Section 14.1 | |||
| Accept-Charset ; Section 14.2 | | Accept-Charset ; Section 14.2 | |||
| Accept-Encoding ; Section 14.3 | | Accept-Encoding ; Section 14.3 | |||
| Accept-Language ; Section 14.4 | | Accept-Language ; Section 14.4 | |||
| Authorization ; Section 14.8 | | Authorization ; Section 14.8 | |||
| Expect ; Section 14.20 | | Expect ; Section 14.20 | |||
| From ; Section 14.22 | | From ; Section 14.22 | |||
| Host ; Section 14.23 | | Host ; Section 14.23 | |||
skipping to change at line 241 ¶ | skipping to change at line 262 ¶ | |||
| "417" ; Section 10.4.18: Expectation Failed | | "417" ; Section 10.4.18: Expectation Failed | |||
| "500" ; Section 10.5.1: Internal Server Error | | "500" ; Section 10.5.1: Internal Server Error | |||
| "501" ; Section 10.5.2: Not Implemented | | "501" ; Section 10.5.2: Not Implemented | |||
| "502" ; Section 10.5.3: Bad Gateway | | "502" ; Section 10.5.3: Bad Gateway | |||
| "503" ; Section 10.5.4: Service Unavailable | | "503" ; Section 10.5.4: Service Unavailable | |||
| "504" ; Section 10.5.5: Gateway Time-out | | "504" ; Section 10.5.5: Gateway Time-out | |||
| "505" ; Section 10.5.6: HTTP Version not supported | | "505" ; Section 10.5.6: HTTP Version not supported | |||
| extension-code | | extension-code | |||
extension-code = 3DIGIT | extension-code = 3DIGIT | |||
Reason-Phrase = *<TEXT, excluding CR, LF> | Reason-Phrase = *( HT | %x20-7E | %x80-FF ) | |||
response-header = Accept-Ranges ; Section 14.5 | response-header = Accept-Ranges ; Section 14.5 | |||
| Age ; Section 14.6 | | Age ; Section 14.6 | |||
| ETag ; Section 14.19 | | ETag ; Section 14.19 | |||
| Location ; Section 14.30 | | Location ; Section 14.30 | |||
| Proxy-Authenticate ; Section 14.33 | | Proxy-Authenticate ; Section 14.33 | |||
| Retry-After ; Section 14.37 | | Retry-After ; Section 14.37 | |||
| Server ; Section 14.38 | | Server ; Section 14.38 | |||
| Vary ; Section 14.44 | | Vary ; Section 14.44 | |||
| WWW-Authenticate ; Section 14.47 | | WWW-Authenticate ; Section 14.47 | |||
skipping to change at line 317 ¶ | skipping to change at line 338 ¶ | |||
| "no-store" ; Section 14.9.2 | | "no-store" ; Section 14.9.2 | |||
| "max-age" "=" delta-seconds ; Section 14.9.3, 14.9.4 | | "max-age" "=" delta-seconds ; Section 14.9.3, 14.9.4 | |||
| "max-stale" [ "=" delta-seconds ] ; Section 14.9.3 | | "max-stale" [ "=" delta-seconds ] ; Section 14.9.3 | |||
| "min-fresh" "=" delta-seconds ; Section 14.9.3 | | "min-fresh" "=" delta-seconds ; Section 14.9.3 | |||
| "no-transform" ; Section 14.9.5 | | "no-transform" ; Section 14.9.5 | |||
| "only-if-cached" ; Section 14.9.4 | | "only-if-cached" ; Section 14.9.4 | |||
| cache-extension ; Section 14.9.6 | | cache-extension ; Section 14.9.6 | |||
cache-response-directive = | cache-response-directive = | |||
"public" ; Section 14.9.1 | "public" ; Section 14.9.1 | |||
| "private" [ "=" <"> 1#field-name <"> ] ; Section 14.9.1 | | "private" [ "=" DQUOTE 1#field-name DQUOTE ] | |||
| "no-cache" [ "=" <"> 1#field-name <"> ]; Section 14.9.1 | ; Section 14.9.1 | |||
| "no-cache" [ "=" DQUOTE 1#field-name DQUOTE ] | ||||
; Section 14.9.1 | ||||
| "no-store" ; Section 14.9.2 | | "no-store" ; Section 14.9.2 | |||
| "no-transform" ; Section 14.9.5 | | "no-transform" ; Section 14.9.5 | |||
| "must-revalidate" ; Section 14.9.4 | | "must-revalidate" ; Section 14.9.4 | |||
| "proxy-revalidate" ; Section 14.9.4 | | "proxy-revalidate" ; Section 14.9.4 | |||
| "max-age" "=" delta-seconds ; Section 14.9.3 | | "max-age" "=" delta-seconds ; Section 14.9.3 | |||
| "s-maxage" "=" delta-seconds ; Section 14.9.3 | | "s-maxage" "=" delta-seconds ; Section 14.9.3 | |||
| cache-extension ; Section 14.9.6 | | cache-extension ; Section 14.9.6 | |||
cache-extension = token [ "=" ( token | quoted-string ) ] | cache-extension = token [ "=" ( token | quoted-string ) ] | |||
Connection = "Connection" ":" 1#(connection-token) | Connection = "Connection" ":" 1#(connection-token) | |||
connection-token = token | connection-token = token | |||
Content-Encoding = "Content-Encoding" ":" 1#content-coding | Content-Encoding = "Content-Encoding" ":" 1#content-coding | |||
Content-Language = "Content-Language" ":" 1#language-tag | Content-Language = "Content-Language" ":" 1#Language-Tag | |||
Content-Length = "Content-Length" ":" 1*DIGIT | Content-Length = "Content-Length" ":" 1*DIGIT | |||
Content-Location = "Content-Location" ":" | Content-Location = "Content-Location" ":" | |||
( absoluteURI | relativeURI ) | ( absoluteURI | relativeURI ) | |||
Content-MD5 = "Content-MD5" ":" md5-digest | Content-MD5 = "Content-MD5" ":" md5-digest | |||
md5-digest = <base64 of 128 bit MD5 digest as per [RFC1864]> | md5-digest = <base64 of 128 bit MD5 digest as per [RFC1864]> | |||
Content-Range = "Content-Range" ":" content-range-spec | Content-Range = "Content-Range" ":" content-range-spec | |||
skipping to change at line 372 ¶ | skipping to change at line 395 ¶ | |||
expectation = "100-continue" | expectation-extension | expectation = "100-continue" | expectation-extension | |||
expectation-extension = token [ "=" ( token | quoted-string ) | expectation-extension = token [ "=" ( token | quoted-string ) | |||
*expect-params ] | *expect-params ] | |||
expect-params = ";" token [ "=" ( token | quoted-string ) ] | expect-params = ";" token [ "=" ( token | quoted-string ) ] | |||
Expires = "Expires" ":" HTTP-date | Expires = "Expires" ":" HTTP-date | |||
From = "From" ":" mailbox | From = "From" ":" mailbox | |||
Host = "Host" ":" host [ ":" port ] ; Section 3.2.2 | Host = "Host" ":" uri-host [ ":" port ] ; Section 3.2.2 | |||
If-Match = "If-Match" ":" ( "*" | 1#entity-tag ) | If-Match = "If-Match" ":" ( "*" | 1#entity-tag ) | |||
If-Modified-Since = "If-Modified-Since" ":" HTTP-date | If-Modified-Since = "If-Modified-Since" ":" HTTP-date | |||
If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag ) | If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag ) | |||
If-Range = "If-Range" ":" ( entity-tag | HTTP-date ) | If-Range = "If-Range" ":" ( entity-tag | HTTP-date ) | |||
If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date | If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date | |||
skipping to change at line 433 ¶ | skipping to change at line 456 ¶ | |||
Upgrade = "Upgrade" ":" 1#product | Upgrade = "Upgrade" ":" 1#product | |||
User-Agent = "User-Agent" ":" 1*( product | comment ) | User-Agent = "User-Agent" ":" 1*( product | comment ) | |||
Vary = "Vary" ":" ( "*" | 1#field-name ) | Vary = "Vary" ":" ( "*" | 1#field-name ) | |||
Via = "Via" ":" 1#( received-protocol received-by [ comment ] ) | Via = "Via" ":" 1#( received-protocol received-by [ comment ] ) | |||
received-protocol = [ protocol-name "/" ] protocol-version | received-protocol = [ protocol-name "/" ] protocol-version | |||
protocol-name = token | protocol-name = token | |||
protocol-version = token | protocol-version = token | |||
received-by = ( host [ ":" port ] ) | pseudonym | received-by = ( uri-host [ ":" port ] ) | pseudonym | |||
pseudonym = token | pseudonym = token | |||
Warning = "Warning" ":" 1#warning-value | Warning = "Warning" ":" 1#warning-value | |||
warning-value = warn-code SP warn-agent SP warn-text | warning-value = warn-code SP warn-agent SP warn-text | |||
[SP warn-date] | [SP warn-date] | |||
warn-code = 3DIGIT | warn-code = 3DIGIT | |||
warn-agent = ( host [ ":" port ] ) | pseudonym | warn-agent = ( uri-host [ ":" port ] ) | pseudonym | |||
; the name or pseudonym of the server adding | ; the name or pseudonym of the server adding | |||
; the Warning header, for use in debugging | ; the Warning header, for use in debugging | |||
warn-text = quoted-string | warn-text = quoted-string | |||
warn-date = <"> HTTP-date <"> | warn-date = DQUOTE HTTP-date DQUOTE | |||
WWW-Authenticate = "WWW-Authenticate" ":" 1#challenge | WWW-Authenticate = "WWW-Authenticate" ":" 1#challenge | |||
MIME-Version = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT | MIME-Version = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT | |||
content-disposition = "Content-Disposition" ":" | content-disposition = "Content-Disposition" ":" | |||
disposition-type *( ";" disposition-parm ) | disposition-type *( ";" disposition-parm ) | |||
disposition-type = "attachment" | disp-extension-token | disposition-type = "attachment" | disp-extension-token | |||
disposition-parm = filename-parm | disp-extension-parm | disposition-parm = filename-parm | disp-extension-parm | |||
filename-parm = "filename" "=" quoted-string | filename-parm = "filename" "=" quoted-string | |||
End of changes. 22 change blocks. | ||||
27 lines changed or deleted | 50 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |