| rfc2616.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 | ||||
| comment = "(" *( ctext | quoted-pair | comment ) ")" | tchar = "!" | "#" | "$" | "%" | "&" | "'" | "*" | "+" | "-" | |||
| ctext = <any TEXT excluding "(" and ")"> | | "." | "^" | "_" | "`" | "|" | "~" | DIGIT | ALPHA | |||
| ; any CHAR except CTLs or separators | ||||
| token = 1*tchar | ||||
| quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) | comment = "(" *( ctext | quoted-pair | comment ) ")" | |||
| qdtext = <any TEXT except <">> | ctext = %x20-27 | %x2A-7E | %x80-FF | LWS | |||
| ; any TEXT excluding "(" and ")" | ||||
| quoted-pair = "\" CHAR | quoted-string = ( DQUOTE *(qdtext | quoted-pair ) DQUOTE ) | |||
| qdtext = %x20-21 | %x23-5B | %x5D-7E | %x80-FF | LWS | ||||
| ; any TEXT excluding DQUOTE and "\" | ||||
| HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT | quoted-pair = "\" CHAR | |||
| http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] | HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT | |||
| HTTP-date = rfc1123-date | rfc850-date | asctime-date | absoluteURI = <absoluteURI, defined in [RFC2396], Section 3> | |||
| rfc1123-date = wkday "," SP date1 SP time SP "GMT" | authority = <authority, defined in [RFC2396], Section 3.2> | |||
| rfc850-date = weekday "," SP date2 SP time SP "GMT" | path-absolute = <abs_path, defined in [RFC2396], Section 3> | |||
| asctime-date = wkday SP date3 SP time SP 4DIGIT | port = <port, defined in [RFC2396], Section 3.2.2> | |||
| date1 = 2DIGIT SP month SP 4DIGIT | query = <query, defined in [RFC2396], Section 3.4> | |||
| ; day month year (e.g., 02 Jun 1982) | relativeURI = <relativeURI, defined in [RFC2396], Section 5> | |||
| date2 = 2DIGIT "-" month "-" 2DIGIT | uri-host = <host, defined in [RFC2396], Section 3.2.2> | |||
| ; day-month-year (e.g., 02-Jun-82) | ||||
| date3 = month SP ( 2DIGIT | ( SP 1DIGIT )) | ||||
| ; month day (e.g., Jun 2) | ||||
| time = 2DIGIT ":" 2DIGIT ":" 2DIGIT | ||||
| ; 00:00:00 - 23:59:59 | ||||
| wkday = "Mon" | "Tue" | "Wed" | ||||
| | "Thu" | "Fri" | "Sat" | "Sun" | ||||
| weekday = "Monday" | "Tuesday" | "Wednesday" | ||||
| | "Thursday" | "Friday" | "Saturday" | "Sunday" | ||||
| month = "Jan" | "Feb" | "Mar" | "Apr" | ||||
| | "May" | "Jun" | "Jul" | "Aug" | ||||
| | "Sep" | "Oct" | "Nov" | "Dec" | ||||
| delta-seconds = 1*DIGIT | http-URL = "http:" "//" uri-host [ ":" port ] [ path-absolute [ "?" query ]] | |||
| charset = token | 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" | ||||
| rfc850-date = weekday "," SP date2 SP time SP "GMT" | ||||
| asctime-date = wkday SP date3 SP time SP 4DIGIT | ||||
| date1 = 2DIGIT SP month SP 4DIGIT | ||||
| ; day month year (e.g., 02 Jun 1982) | ||||
| date2 = 2DIGIT "-" month "-" 2DIGIT | ||||
| ; day-month-year (e.g., 02-Jun-82) | ||||
| date3 = month SP ( 2DIGIT | ( SP 1DIGIT )) | ||||
| ; month day (e.g., Jun 2) | ||||
| time = 2DIGIT ":" 2DIGIT ":" 2DIGIT | ||||
| ; 00:00:00 - 23:59:59 | ||||
| wkday = "Mon" | "Tue" | "Wed" | ||||
| | "Thu" | "Fri" | "Sat" | "Sun" | ||||
| weekday = "Monday" | "Tuesday" | "Wednesday" | ||||
| | "Thursday" | "Friday" | "Saturday" | "Sunday" | ||||
| month = "Jan" | "Feb" | "Mar" | "Apr" | ||||
| | "May" | "Jun" | "Jul" | "Aug" | ||||
| | "Sep" | "Oct" | "Nov" | "Dec" | ||||
| content-coding = token | delta-seconds = 1*DIGIT | |||
| transfer-coding = "chunked" | transfer-extension | charset = token | |||
| transfer-extension = token *( ";" parameter ) | ||||
| parameter = attribute "=" value | content-coding = token | |||
| attribute = token | ||||
| value = token | quoted-string | ||||
| Chunked-Body = *chunk | transfer-coding = "chunked" | transfer-extension | |||
| last-chunk | transfer-extension = token *( ";" parameter ) | |||
| trailer | ||||
| CRLF | ||||
| chunk = chunk-size [ chunk-extension ] CRLF | parameter = attribute "=" value | |||
| chunk-data CRLF | attribute = token | |||
| chunk-size = 1*HEX | value = token | quoted-string | |||
| last-chunk = 1*("0") [ chunk-extension ] CRLF | ||||
| chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] ) | Chunked-Body = *chunk | |||
| chunk-ext-name = token | last-chunk | |||
| chunk-ext-val = token | quoted-string | trailer-part | |||
| chunk-data = chunk-size(OCTET) | CRLF | |||
| trailer = *(entity-header CRLF) | ||||
| media-type = type "/" subtype *( ";" parameter ) | chunk = chunk-size [ chunk-extension ] CRLF | |||
| type = token | chunk-data CRLF | |||
| subtype = token | chunk-size = 1*HEX | |||
| last-chunk = 1*("0") [ chunk-extension ] CRLF | ||||
| product = token ["/" product-version] | chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] ) | |||
| product-version = token | chunk-ext-name = token | |||
| chunk-ext-val = token | quoted-string | ||||
| qvalue = ( "0" [ "." 0*3DIGIT ] ) | chunk-data = 1*OCTET ; a sequence of chunk-size octets | |||
| | ( "1" [ "." 0*3("0") ] ) | ||||
| language-tag = primary-tag *( "-" subtag ) | trailer-part = *(entity-header CRLF) | |||
| primary-tag = 1*8ALPHA | ||||
| subtag = 1*8ALPHA | ||||
| entity-tag = [ weak ] opaque-tag | media-type = type "/" subtype *( ";" parameter ) | |||
| weak = "W/" | type = token | |||
| opaque-tag = quoted-string | subtype = token | |||
| range-unit = bytes-unit | other-range-unit | product = token ["/" product-version] | |||
| bytes-unit = "bytes" | product-version = token | |||
| other-range-unit = token | ||||
| HTTP-message = Request | Response ; HTTP/1.1 messages | qvalue = ( "0" [ "." 0*3DIGIT ] ) | |||
| | ( "1" [ "." 0*3("0") ] ) | ||||
| generic-message = start-line | language-tag = primary-tag *( "-" subtag ) | |||
| *(message-header CRLF) | primary-tag = 1*8ALPHA | |||
| CRLF | subtag = 1*8ALPHA | |||
| [ message-body ] | ||||
| start-line = Request-Line | Status-Line | ||||
| message-header = field-name ":" [ field-value ] | Language-Tag = <defined in [RFC4646], Section 2.1> | |||
| field-name = token | ||||
| field-value = *( field-content | LWS ) | ||||
| field-content = <the OCTETs making up the field-value | ||||
| and consisting of either *TEXT or combinations | ||||
| of token, separators, and quoted-string> | ||||
| message-body = entity-body | entity-tag = [ weak ] opaque-tag | |||
| | <entity-body encoded as per Transfer-Encoding> | weak = "W/" | |||
| opaque-tag = quoted-string | ||||
| general-header = Cache-Control ; Section 14.9 | range-unit = bytes-unit | other-range-unit | |||
| | Connection ; Section 14.10 | bytes-unit = "bytes" | |||
| | Date ; Section 14.18 | other-range-unit = token | |||
| | Pragma ; Section 14.32 | ||||
| | Trailer ; Section 14.40 | ||||
| | Transfer-Encoding ; Section 14.41 | ||||
| | Upgrade ; Section 14.42 | ||||
| | Via ; Section 14.45 | ||||
| | Warning ; Section 14.46 | ||||
| Request = Request-Line ; Section 5.1 | HTTP-message = Request | Response ; HTTP/1.1 messages | |||
| *(( general-header ; Section 4.5 | ||||
| | request-header ; Section 5.3 | ||||
| | entity-header ) CRLF) ; Section 7.1 | ||||
| CRLF | ||||
| [ message-body ] ; Section 4.3 | ||||
| Request-Line = Method SP Request-URI SP HTTP-Version CRLF | generic-message = start-line | |||
| *(message-header CRLF) | ||||
| CRLF | ||||
| [ message-body ] | ||||
| start-line = Request-Line | Status-Line | ||||
| Method = "OPTIONS" ; Section 9.2 | message-header = field-name ":" [ field-value ] | |||
| | "GET" ; Section 9.3 | field-name = token | |||
| | "HEAD" ; Section 9.4 | field-value = *( field-content | LWS ) | |||
| | "POST" ; Section 9.5 | field-content = <field content> | |||
| | "PUT" ; Section 9.6 | ; the OCTETs making up the field-value | |||
| | "DELETE" ; Section 9.7 | ; and consisting of either *TEXT or combinations | |||
| | "TRACE" ; Section 9.8 | ; of token, separators, and quoted-string | |||
| | "CONNECT" ; Section 9.9 | ||||
| | extension-method | ||||
| extension-method = token | ||||
| Request-URI = "*" | absoluteURI | abs_path | authority | message-body = entity-body | |||
| | <entity-body encoded as per Transfer-Encoding> | ||||
| request-header = Accept ; Section 14.1 | general-header = Cache-Control ; Section 14.9 | |||
| | Accept-Charset ; Section 14.2 | | Connection ; Section 14.10 | |||
| | Accept-Encoding ; Section 14.3 | | Date ; Section 14.18 | |||
| | Accept-Language ; Section 14.4 | | Pragma ; Section 14.32 | |||
| | Authorization ; Section 14.8 | | Trailer ; Section 14.40 | |||
| | Expect ; Section 14.20 | | Transfer-Encoding ; Section 14.41 | |||
| | From ; Section 14.22 | | Upgrade ; Section 14.42 | |||
| | Host ; Section 14.23 | | Via ; Section 14.45 | |||
| | If-Match ; Section 14.24 | | Warning ; Section 14.46 | |||
| | If-Modified-Since ; Section 14.25 | ||||
| | If-None-Match ; Section 14.26 | ||||
| | If-Range ; Section 14.27 | ||||
| | If-Unmodified-Since ; Section 14.28 | ||||
| | Max-Forwards ; Section 14.31 | ||||
| | Proxy-Authorization ; Section 14.34 | ||||
| | Range ; Section 14.35 | ||||
| | Referer ; Section 14.36 | ||||
| | TE ; Section 14.39 | ||||
| | User-Agent ; Section 14.43 | ||||
| Response = Status-Line ; Section 6.1 | Request = Request-Line ; Section 5.1 | |||
| *(( general-header ; Section 4.5 | *(( general-header ; Section 4.5 | |||
| | response-header ; Section 6.2 | | request-header ; Section 5.3 | |||
| | entity-header ) CRLF) ; Section 7.1 | | entity-header ) CRLF) ; Section 7.1 | |||
| CRLF | CRLF | |||
| [ message-body ] ; Section 7.2 | [ message-body ] ; Section 4.3 | |||
| Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF | Request-Line = Method SP Request-URI SP HTTP-Version CRLF | |||
| Status-Code = | Method = "OPTIONS" ; Section 9.2 | |||
| "100" ; Section 10.1.1: Continue | | "GET" ; Section 9.3 | |||
| | "101" ; Section 10.1.2: Switching Protocols | | "HEAD" ; Section 9.4 | |||
| | "200" ; Section 10.2.1: OK | | "POST" ; Section 9.5 | |||
| | "201" ; Section 10.2.2: Created | | "PUT" ; Section 9.6 | |||
| | "202" ; Section 10.2.3: Accepted | | "DELETE" ; Section 9.7 | |||
| | "203" ; Section 10.2.4: Non-Authoritative Information | | "TRACE" ; Section 9.8 | |||
| | "204" ; Section 10.2.5: No Content | | "CONNECT" ; Section 9.9 | |||
| | "205" ; Section 10.2.6: Reset Content | | extension-method | |||
| | "206" ; Section 10.2.7: Partial Content | extension-method = token | |||
| | "300" ; Section 10.3.1: Multiple Choices | ||||
| | "301" ; Section 10.3.2: Moved Permanently | ||||
| | "302" ; Section 10.3.3: Found | ||||
| | "303" ; Section 10.3.4: See Other | ||||
| | "304" ; Section 10.3.5: Not Modified | ||||
| | "305" ; Section 10.3.6: Use Proxy | ||||
| | "307" ; Section 10.3.8: Temporary Redirect | ||||
| | "400" ; Section 10.4.1: Bad Request | ||||
| | "401" ; Section 10.4.2: Unauthorized | ||||
| | "402" ; Section 10.4.3: Payment Required | ||||
| | "403" ; Section 10.4.4: Forbidden | ||||
| | "404" ; Section 10.4.5: Not Found | ||||
| | "405" ; Section 10.4.6: Method Not Allowed | ||||
| | "406" ; Section 10.4.7: Not Acceptable | ||||
| | "407" ; Section 10.4.8: Proxy Authentication Required | ||||
| | "408" ; Section 10.4.9: Request Time-out | ||||
| | "409" ; Section 10.4.10: Conflict | ||||
| | "410" ; Section 10.4.11: Gone | ||||
| | "411" ; Section 10.4.12: Length Required | ||||
| | "412" ; Section 10.4.13: Precondition Failed | ||||
| | "413" ; Section 10.4.14: Request Entity Too Large | ||||
| | "414" ; Section 10.4.15: Request-URI Too Large | ||||
| | "415" ; Section 10.4.16: Unsupported Media Type | ||||
| | "416" ; Section 10.4.17: Requested range not satisfiable | ||||
| | "417" ; Section 10.4.18: Expectation Failed | ||||
| | "500" ; Section 10.5.1: Internal Server Error | ||||
| | "501" ; Section 10.5.2: Not Implemented | ||||
| | "502" ; Section 10.5.3: Bad Gateway | ||||
| | "503" ; Section 10.5.4: Service Unavailable | ||||
| | "504" ; Section 10.5.5: Gateway Time-out | ||||
| | "505" ; Section 10.5.6: HTTP Version not supported | ||||
| | extension-code | ||||
| extension-code = 3DIGIT | Request-URI = "*" | |||
| Reason-Phrase = *<TEXT, excluding CR, LF> | | absoluteURI | |||
| | path-absolute [ "?" query ] | ||||
| | authority | ||||
| response-header = Accept-Ranges ; Section 14.5 | request-header = Accept ; Section 14.1 | |||
| | Age ; Section 14.6 | | Accept-Charset ; Section 14.2 | |||
| | ETag ; Section 14.19 | | Accept-Encoding ; Section 14.3 | |||
| | Location ; Section 14.30 | | Accept-Language ; Section 14.4 | |||
| | Proxy-Authenticate ; Section 14.33 | | Authorization ; Section 14.8 | |||
| | Retry-After ; Section 14.37 | | Expect ; Section 14.20 | |||
| | Server ; Section 14.38 | | From ; Section 14.22 | |||
| | Vary ; Section 14.44 | | Host ; Section 14.23 | |||
| | WWW-Authenticate ; Section 14.47 | | If-Match ; Section 14.24 | |||
| | If-Modified-Since ; Section 14.25 | ||||
| | If-None-Match ; Section 14.26 | ||||
| | If-Range ; Section 14.27 | ||||
| | If-Unmodified-Since ; Section 14.28 | ||||
| | Max-Forwards ; Section 14.31 | ||||
| | Proxy-Authorization ; Section 14.34 | ||||
| | Range ; Section 14.35 | ||||
| | Referer ; Section 14.36 | ||||
| | TE ; Section 14.39 | ||||
| | User-Agent ; Section 14.43 | ||||
| entity-header = Allow ; Section 14.7 | Response = Status-Line ; Section 6.1 | |||
| | Content-Encoding ; Section 14.11 | *(( general-header ; Section 4.5 | |||
| | Content-Language ; Section 14.12 | | response-header ; Section 6.2 | |||
| | Content-Length ; Section 14.13 | | entity-header ) CRLF) ; Section 7.1 | |||
| | Content-Location ; Section 14.14 | CRLF | |||
| | Content-MD5 ; Section 14.15 | [ message-body ] ; Section 7.2 | |||
| | Content-Range ; Section 14.16 | ||||
| | Content-Type ; Section 14.17 | ||||
| | Expires ; Section 14.21 | ||||
| | Last-Modified ; Section 14.29 | ||||
| | extension-header | ||||
| extension-header = message-header | Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF | |||
| entity-body = *OCTET | Status-Code = | |||
| "100" ; Section 10.1.1: Continue | ||||
| | "101" ; Section 10.1.2: Switching Protocols | ||||
| | "200" ; Section 10.2.1: OK | ||||
| | "201" ; Section 10.2.2: Created | ||||
| | "202" ; Section 10.2.3: Accepted | ||||
| | "203" ; Section 10.2.4: Non-Authoritative Information | ||||
| | "204" ; Section 10.2.5: No Content | ||||
| | "205" ; Section 10.2.6: Reset Content | ||||
| | "206" ; Section 10.2.7: Partial Content | ||||
| | "300" ; Section 10.3.1: Multiple Choices | ||||
| | "301" ; Section 10.3.2: Moved Permanently | ||||
| | "302" ; Section 10.3.3: Found | ||||
| | "303" ; Section 10.3.4: See Other | ||||
| | "304" ; Section 10.3.5: Not Modified | ||||
| | "305" ; Section 10.3.6: Use Proxy | ||||
| | "307" ; Section 10.3.8: Temporary Redirect | ||||
| | "400" ; Section 10.4.1: Bad Request | ||||
| | "401" ; Section 10.4.2: Unauthorized | ||||
| | "402" ; Section 10.4.3: Payment Required | ||||
| | "403" ; Section 10.4.4: Forbidden | ||||
| | "404" ; Section 10.4.5: Not Found | ||||
| | "405" ; Section 10.4.6: Method Not Allowed | ||||
| | "406" ; Section 10.4.7: Not Acceptable | ||||
| | "407" ; Section 10.4.8: Proxy Authentication Required | ||||
| | "408" ; Section 10.4.9: Request Time-out | ||||
| | "409" ; Section 10.4.10: Conflict | ||||
| | "410" ; Section 10.4.11: Gone | ||||
| | "411" ; Section 10.4.12: Length Required | ||||
| | "412" ; Section 10.4.13: Precondition Failed | ||||
| | "413" ; Section 10.4.14: Request Entity Too Large | ||||
| | "414" ; Section 10.4.15: Request-URI Too Large | ||||
| | "415" ; Section 10.4.16: Unsupported Media Type | ||||
| | "416" ; Section 10.4.17: Requested range not satisfiable | ||||
| | "417" ; Section 10.4.18: Expectation Failed | ||||
| | "500" ; Section 10.5.1: Internal Server Error | ||||
| | "501" ; Section 10.5.2: Not Implemented | ||||
| | "502" ; Section 10.5.3: Bad Gateway | ||||
| | "503" ; Section 10.5.4: Service Unavailable | ||||
| | "504" ; Section 10.5.5: Gateway Time-out | ||||
| | "505" ; Section 10.5.6: HTTP Version not supported | ||||
| | extension-code | ||||
| Accept = "Accept" ":" | extension-code = 3DIGIT | |||
| #( media-range [ accept-params ] ) | Reason-Phrase = *( HT | %x20-7E | %x80-FF ) | |||
| media-range = ( "*/*" | response-header = Accept-Ranges ; Section 14.5 | |||
| | ( type "/" "*" ) | | Age ; Section 14.6 | |||
| | ( type "/" subtype ) | | ETag ; Section 14.19 | |||
| ) *( ";" parameter ) | | Location ; Section 14.30 | |||
| accept-params = ";" "q" "=" qvalue *( accept-extension ) | | Proxy-Authenticate ; Section 14.33 | |||
| accept-extension = ";" token [ "=" ( token | quoted-string ) ] | | Retry-After ; Section 14.37 | |||
| | Server ; Section 14.38 | ||||
| | Vary ; Section 14.44 | ||||
| | WWW-Authenticate ; Section 14.47 | ||||
| Accept-Charset = "Accept-Charset" ":" | entity-header = Allow ; Section 14.7 | |||
| 1#( ( charset | "*" )[ ";" "q" "=" qvalue ] ) | | Content-Encoding ; Section 14.11 | |||
| | Content-Language ; Section 14.12 | ||||
| | Content-Length ; Section 14.13 | ||||
| | Content-Location ; Section 14.14 | ||||
| | Content-MD5 ; Section 14.15 | ||||
| | Content-Range ; Section 14.16 | ||||
| | Content-Type ; Section 14.17 | ||||
| | Expires ; Section 14.21 | ||||
| | Last-Modified ; Section 14.29 | ||||
| | extension-header | ||||
| Accept-Encoding = "Accept-Encoding" ":" | extension-header = message-header | |||
| 1#( codings [ ";" "q" "=" qvalue ] ) | ||||
| codings = ( content-coding | "*" ) | ||||
| Accept-Language = "Accept-Language" ":" | entity-body = *OCTET | |||
| 1#( language-range [ ";" "q" "=" qvalue ] ) | ||||
| language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) | ||||
| Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges | Accept = "Accept" ":" | |||
| acceptable-ranges = 1#range-unit | "none" | #( media-range [ accept-params ] ) | |||
| Age = "Age" ":" age-value | media-range = ( "*/*" | |||
| age-value = delta-seconds | | ( type "/" "*" ) | |||
| | ( type "/" subtype ) | ||||
| ) *( ";" parameter ) | ||||
| accept-params = ";" "q" "=" qvalue *( accept-extension ) | ||||
| accept-extension = ";" token [ "=" ( token | quoted-string ) ] | ||||
| Allow = "Allow" ":" #Method | Accept-Charset = "Accept-Charset" ":" | |||
| 1#( ( charset | "*" ) [ ";" "q" "=" qvalue ] ) | ||||
| Authorization = "Authorization" ":" credentials | Accept-Encoding = "Accept-Encoding" ":" | |||
| #( codings [ ";" "q" "=" qvalue ] ) | ||||
| codings = ( content-coding | "*" ) | ||||
| Cache-Control = "Cache-Control" ":" 1#cache-directive | Accept-Language = "Accept-Language" ":" | |||
| 1#( language-range [ ";" "q" "=" qvalue ] ) | ||||
| language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) | ||||
| cache-directive = cache-request-directive | Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges | |||
| | cache-response-directive | acceptable-ranges = 1#range-unit | "none" | |||
| cache-request-directive = | Age = "Age" ":" age-value | |||
| "no-cache" ; Section 14.9.1 | age-value = delta-seconds | |||
| | "no-store" ; Section 14.9.2 | ||||
| | "max-age" "=" delta-seconds ; Section 14.9.3, 14.9.4 | ||||
| | "max-stale" [ "=" delta-seconds ] ; Section 14.9.3 | ||||
| | "min-fresh" "=" delta-seconds ; Section 14.9.3 | ||||
| | "no-transform" ; Section 14.9.5 | ||||
| | "only-if-cached" ; Section 14.9.4 | ||||
| | cache-extension ; Section 14.9.6 | ||||
| cache-response-directive = | Allow = "Allow" ":" #Method | |||
| "public" ; Section 14.9.1 | ||||
| | "private" [ "=" <"> 1#field-name <"> ] ; Section 14.9.1 | ||||
| | "no-cache" [ "=" <"> 1#field-name <"> ]; Section 14.9.1 | ||||
| | "no-store" ; Section 14.9.2 | ||||
| | "no-transform" ; Section 14.9.5 | ||||
| | "must-revalidate" ; Section 14.9.4 | ||||
| | "proxy-revalidate" ; Section 14.9.4 | ||||
| | "max-age" "=" delta-seconds ; Section 14.9.3 | ||||
| | "s-maxage" "=" delta-seconds ; Section 14.9.3 | ||||
| | cache-extension ; Section 14.9.6 | ||||
| cache-extension = token [ "=" ( token | quoted-string ) ] | Authorization = "Authorization" ":" credentials | |||
| Connection = "Connection" ":" 1#(connection-token) | Cache-Control = "Cache-Control" ":" 1#cache-directive | |||
| connection-token = token | ||||
| Content-Encoding = "Content-Encoding" ":" 1#content-coding | cache-directive = cache-request-directive | |||
| | cache-response-directive | ||||
| Content-Language = "Content-Language" ":" 1#language-tag | cache-request-directive = | |||
| "no-cache" ; Section 14.9.1 | ||||
| | "no-store" ; Section 14.9.2 | ||||
| | "max-age" "=" delta-seconds ; Section 14.9.3, 14.9.4 | ||||
| | "max-stale" [ "=" delta-seconds ] ; Section 14.9.3 | ||||
| | "min-fresh" "=" delta-seconds ; Section 14.9.3 | ||||
| | "no-transform" ; Section 14.9.5 | ||||
| | "only-if-cached" ; Section 14.9.4 | ||||
| | cache-extension ; Section 14.9.6 | ||||
| Content-Length = "Content-Length" ":" 1*DIGIT | cache-response-directive = | |||
| "public" ; Section 14.9.1 | ||||
| | "private" [ "=" DQUOTE 1#field-name DQUOTE ] | ||||
| ; Section 14.9.1 | ||||
| | "no-cache" [ "=" DQUOTE 1#field-name DQUOTE ] | ||||
| ; Section 14.9.1 | ||||
| | "no-store" ; Section 14.9.2 | ||||
| | "no-transform" ; Section 14.9.5 | ||||
| | "must-revalidate" ; Section 14.9.4 | ||||
| | "proxy-revalidate" ; Section 14.9.4 | ||||
| | "max-age" "=" delta-seconds ; Section 14.9.3 | ||||
| | "s-maxage" "=" delta-seconds ; Section 14.9.3 | ||||
| | cache-extension ; Section 14.9.6 | ||||
| Content-Location = "Content-Location" ":" | cache-extension = token [ "=" ( token | quoted-string ) ] | |||
| ( absoluteURI | relativeURI ) | ||||
| Content-MD5 = "Content-MD5" ":" md5-digest | Connection = "Connection" ":" 1#(connection-token) | |||
| md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864> | connection-token = token | |||
| Content-Range = "Content-Range" ":" content-range-spec | Content-Encoding = "Content-Encoding" ":" 1#content-coding | |||
| content-range-spec = byte-content-range-spec | Content-Language = "Content-Language" ":" 1#Language-Tag | |||
| byte-content-range-spec = bytes-unit SP | ||||
| byte-range-resp-spec "/" | ||||
| ( instance-length | "*" ) | ||||
| byte-range-resp-spec = (first-byte-pos "-" last-byte-pos) | Content-Length = "Content-Length" ":" 1*DIGIT | |||
| | "*" | ||||
| instance-length = 1*DIGIT | ||||
| Content-Type = "Content-Type" ":" media-type | Content-Location = "Content-Location" ":" | |||
| ( absoluteURI | relativeURI ) | ||||
| Date = "Date" ":" HTTP-date | Content-MD5 = "Content-MD5" ":" md5-digest | |||
| md5-digest = <base64 of 128 bit MD5 digest as per [RFC1864]> | ||||
| ETag = "ETag" ":" entity-tag | Content-Range = "Content-Range" ":" content-range-spec | |||
| Expect = "Expect" ":" 1#expectation | content-range-spec = byte-content-range-spec | |||
| byte-content-range-spec = bytes-unit SP | ||||
| byte-range-resp-spec "/" | ||||
| ( instance-length | "*" ) | ||||
| expectation = "100-continue" | expectation-extension | byte-range-resp-spec = (first-byte-pos "-" last-byte-pos) | |||
| expectation-extension = token [ "=" ( token | quoted-string ) | | "*" | |||
| *expect-params ] | instance-length = 1*DIGIT | |||
| expect-params = ";" token [ "=" ( token | quoted-string ) ] | ||||
| Expires = "Expires" ":" HTTP-date | Content-Type = "Content-Type" ":" media-type | |||
| From = "From" ":" mailbox | Date = "Date" ":" HTTP-date | |||
| Host = "Host" ":" host [ ":" port ] ; Section 3.2.2 | ETag = "ETag" ":" entity-tag | |||
| If-Match = "If-Match" ":" ( "*" | 1#entity-tag ) | Expect = "Expect" ":" 1#expectation | |||
| If-Modified-Since = "If-Modified-Since" ":" HTTP-date | expectation = "100-continue" | expectation-extension | |||
| expectation-extension = token [ "=" ( token | quoted-string ) | ||||
| *expect-params ] | ||||
| expect-params = ";" token [ "=" ( token | quoted-string ) ] | ||||
| If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag ) | Expires = "Expires" ":" HTTP-date | |||
| If-Range = "If-Range" ":" ( entity-tag | HTTP-date ) | From = "From" ":" mailbox | |||
| If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date | Host = "Host" ":" uri-host [ ":" port ] ; Section 3.2.2 | |||
| Last-Modified = "Last-Modified" ":" HTTP-date | If-Match = "If-Match" ":" ( "*" | 1#entity-tag ) | |||
| Location = "Location" ":" absoluteURI | If-Modified-Since = "If-Modified-Since" ":" HTTP-date | |||
| Max-Forwards = "Max-Forwards" ":" 1*DIGIT | If-None-Match = "If-None-Match" ":" ( "*" | 1#entity-tag ) | |||
| Pragma = "Pragma" ":" 1#pragma-directive | If-Range = "If-Range" ":" ( entity-tag | HTTP-date ) | |||
| pragma-directive = "no-cache" | extension-pragma | ||||
| extension-pragma = token [ "=" ( token | quoted-string ) ] | ||||
| Proxy-Authenticate = "Proxy-Authenticate" ":" 1#challenge | If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date | |||
| Proxy-Authorization = "Proxy-Authorization" ":" credentials | Last-Modified = "Last-Modified" ":" HTTP-date | |||
| ranges-specifier = byte-ranges-specifier | Location = "Location" ":" absoluteURI [ "#" fragment ] | |||
| byte-ranges-specifier = bytes-unit "=" byte-range-set | ||||
| byte-range-set = 1#( byte-range-spec | suffix-byte-range-spec ) | ||||
| byte-range-spec = first-byte-pos "-" [last-byte-pos] | ||||
| first-byte-pos = 1*DIGIT | ||||
| last-byte-pos = 1*DIGIT | ||||
| suffix-byte-range-spec = "-" suffix-length | Max-Forwards = "Max-Forwards" ":" 1*DIGIT | |||
| suffix-length = 1*DIGIT | ||||
| Range = "Range" ":" ranges-specifier | Pragma = "Pragma" ":" 1#pragma-directive | |||
| pragma-directive = "no-cache" | extension-pragma | ||||
| extension-pragma = token [ "=" ( token | quoted-string ) ] | ||||
| Referer = "Referer" ":" ( absoluteURI | relativeURI ) | Proxy-Authenticate = "Proxy-Authenticate" ":" 1#challenge | |||
| Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) | Proxy-Authorization = "Proxy-Authorization" ":" credentials | |||
| Server = "Server" ":" 1*( product | comment ) | ranges-specifier = byte-ranges-specifier | |||
| byte-ranges-specifier = bytes-unit "=" byte-range-set | ||||
| byte-range-set = 1#( byte-range-spec | suffix-byte-range-spec ) | ||||
| byte-range-spec = first-byte-pos "-" [last-byte-pos] | ||||
| first-byte-pos = 1*DIGIT | ||||
| last-byte-pos = 1*DIGIT | ||||
| TE = "TE" ":" #( t-codings ) | suffix-byte-range-spec = "-" suffix-length | |||
| t-codings = "trailers" | ( transfer-extension [ accept-params ] ) | suffix-length = 1*DIGIT | |||
| Trailer = "Trailer" ":" 1#field-name | Range = "Range" ":" ranges-specifier | |||
| Referer = "Referer" ":" ( absoluteURI | relativeURI ) | ||||
| Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) | ||||
| Server = "Server" ":" 1*( product | comment ) | ||||
| TE = "TE" ":" #( t-codings ) | ||||
| t-codings = "trailers" | ( transfer-extension [ accept-params ] ) | ||||
| Trailer = "Trailer" ":" 1#field-name | ||||
| Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding | Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding | |||
| 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 | |||
| disp-extension-token = token | disp-extension-token = token | |||
| disp-extension-parm = token "=" ( token | quoted-string ) | disp-extension-parm = token "=" ( token | quoted-string ) | |||
| End of changes. 104 change blocks. | ||||
| 342 lines changed or deleted | 368 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/ | ||||