rfc2616.abnf.txt   draft-lafon-rfc2616bis-00.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 = <any US-ASCII control character
(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)> <"> = <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 = <any OCTET except CTLs,
but including LWS> 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> token = 1*<any CHAR except CTLs or separators>
separators = "(" | ")" | "<" | ">" | "@" separators = "(" | ")" | "<" | ">" | "@"
| "," | ";" | ":" | "\" | <"> | "," | ";" | ":" | "\" | <">
| "/" | "[" | "]" | "?" | "=" | "/" | "[" | "]" | "?" | "="
| "{" | "}" | SP | HT | "{" | "}" | SP | HT
comment = "(" *( ctext | quoted-pair | comment ) ")" comment = "(" *( ctext | quoted-pair | comment ) ")"
ctext = <any TEXT excluding "(" and ")"> ctext = <any TEXT excluding "(" and ")">
quoted-string = ( <"> *(qdtext | quoted-pair ) <"> ) quoted-string = ( <"> *(qdtext | quoted-pair ) <"> )
qdtext = <any TEXT except <">> qdtext = <any TEXT except <">>
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 ]] http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
HTTP-date = rfc1123-date | rfc850-date | asctime-date HTTP-date = rfc1123-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
; 00:00:00 - 23:59:59 ; 00:00:00 - 23:59:59
wkday = "Mon" | "Tue" | "Wed" wkday = "Mon" | "Tue" | "Wed"
| "Thu" | "Fri" | "Sat" | "Sun" | "Thu" | "Fri" | "Sat" | "Sun"
weekday = "Monday" | "Tuesday" | "Wednesday" weekday = "Monday" | "Tuesday" | "Wednesday"
| "Thursday" | "Friday" | "Saturday" | "Sunday" | "Thursday" | "Friday" | "Saturday" | "Sunday"
month = "Jan" | "Feb" | "Mar" | "Apr" month = "Jan" | "Feb" | "Mar" | "Apr"
| "May" | "Jun" | "Jul" | "Aug" | "May" | "Jun" | "Jul" | "Aug"
| "Sep" | "Oct" | "Nov" | "Dec" | "Sep" | "Oct" | "Nov" | "Dec"
delta-seconds = 1*DIGIT delta-seconds = 1*DIGIT
charset = token charset = token
content-coding = token content-coding = token
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
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) chunk-data = chunk-size(OCTET)
trailer = *(entity-header CRLF) trailer = *(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
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 = <the OCTETs making up the field-value
and consisting of either *TEXT or combinations and consisting of either *TEXT or combinations
of token, separators, and quoted-string> 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
| Upgrade ; Section 14.42 | Upgrade ; Section 14.42
| Via ; Section 14.45 | Via ; Section 14.45
| Warning ; Section 14.46 | Warning ; Section 14.46
Request = Request-Line ; Section 5.1 Request = Request-Line ; Section 5.1
*(( general-header ; Section 4.5 *(( general-header ; Section 4.5
| request-header ; Section 5.3 | request-header ; Section 5.3
| entity-header ) CRLF) ; Section 7.1 | entity-header ) CRLF) ; Section 7.1
CRLF CRLF
[ message-body ] ; Section 4.3 [ message-body ] ; Section 4.3
Request-Line = Method SP Request-URI SP HTTP-Version CRLF Request-Line = Method SP Request-URI SP HTTP-Version CRLF
Method = "OPTIONS" ; Section 9.2 Method = "OPTIONS" ; Section 9.2
| "GET" ; Section 9.3 | "GET" ; Section 9.3
| "HEAD" ; Section 9.4 | "HEAD" ; Section 9.4
| "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 = "*" | absoluteURI | abs_path | authority Request-URI = "*" | absoluteURI | abs_path | 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
| If-Match ; Section 14.24 | If-Match ; Section 14.24
| If-Modified-Since ; Section 14.25 | If-Modified-Since ; Section 14.25
| If-None-Match ; Section 14.26 | If-None-Match ; Section 14.26
| If-Range ; Section 14.27 | If-Range ; Section 14.27
| If-Unmodified-Since ; Section 14.28 | If-Unmodified-Since ; Section 14.28
| Max-Forwards ; Section 14.31 | Max-Forwards ; Section 14.31
| Proxy-Authorization ; Section 14.34 | Proxy-Authorization ; Section 14.34
| Range ; Section 14.35 | Range ; Section 14.35
| Referer ; Section 14.36 | Referer ; Section 14.36
| TE ; Section 14.39 | TE ; Section 14.39
| User-Agent ; Section 14.43 | User-Agent ; Section 14.43
Response = Status-Line ; Section 6.1 Response = Status-Line ; Section 6.1
*(( general-header ; Section 4.5 *(( general-header ; Section 4.5
| response-header ; Section 6.2 | response-header ; Section 6.2
| entity-header ) CRLF) ; Section 7.1 | entity-header ) CRLF) ; Section 7.1
CRLF CRLF
[ message-body ] ; Section 7.2 [ message-body ] ; Section 7.2
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Status-Code = Status-Code =
"100" ; Section 10.1.1: Continue "100" ; Section 10.1.1: Continue
| "101" ; Section 10.1.2: Switching Protocols | "101" ; Section 10.1.2: Switching Protocols
| "200" ; Section 10.2.1: OK | "200" ; Section 10.2.1: OK
| "201" ; Section 10.2.2: Created | "201" ; Section 10.2.2: Created
| "202" ; Section 10.2.3: Accepted | "202" ; Section 10.2.3: Accepted
| "203" ; Section 10.2.4: Non-Authoritative Information | "203" ; Section 10.2.4: Non-Authoritative Information
| "204" ; Section 10.2.5: No Content | "204" ; Section 10.2.5: No Content
| "205" ; Section 10.2.6: Reset Content | "205" ; Section 10.2.6: Reset Content
| "206" ; Section 10.2.7: Partial Content | "206" ; Section 10.2.7 Partial Content
| "300" ; Section 10.3.1: Multiple Choices | "300" ; Section 10.3.1: Multiple Choices
| "301" ; Section 10.3.2: Moved Permanently | "301" ; Section 10.3.2: Moved Permanently
| "302" ; Section 10.3.3: Found | "302" ; Section 10.3.3: Found
| "303" ; Section 10.3.4: See Other | "303" ; Section 10.3.4: See Other
| "304" ; Section 10.3.5: Not Modified | "304" ; Section 10.3.5: Not Modified
| "305" ; Section 10.3.6: Use Proxy | "305" ; Section 10.3.6: Use Proxy
| "307" ; Section 10.3.8: Temporary Redirect | "307" ; Section 10.3.8: Temporary Redirect
| "400" ; Section 10.4.1: Bad Request | "400" ; Section 10.4.1: Bad Request
| "401" ; Section 10.4.2: Unauthorized | "401" ; Section 10.4.2: Unauthorized
| "402" ; Section 10.4.3: Payment Required | "402" ; Section 10.4.3: Payment Required
| "403" ; Section 10.4.4: Forbidden | "403" ; Section 10.4.4: Forbidden
| "404" ; Section 10.4.5: Not Found | "404" ; Section 10.4.5: Not Found
| "405" ; Section 10.4.6: Method Not Allowed | "405" ; Section 10.4.6: Method Not Allowed
| "406" ; Section 10.4.7: Not Acceptable | "406" ; Section 10.4.7: Not Acceptable
| "407" ; Section 10.4.8: Proxy Authentication Required | "407" ; Section 10.4.8: Proxy Authentication Required
| "408" ; Section 10.4.9: Request Time-out | "408" ; Section 10.4.9: Request Time-out
| "409" ; Section 10.4.10: Conflict | "409" ; Section 10.4.10: Conflict
| "410" ; Section 10.4.11: Gone | "410" ; Section 10.4.11: Gone
| "411" ; Section 10.4.12: Length Required | "411" ; Section 10.4.12: Length Required
| "412" ; Section 10.4.13: Precondition Failed | "412" ; Section 10.4.13: Precondition Failed
| "413" ; Section 10.4.14: Request Entity Too Large | "413" ; Section 10.4.14: Request Entity Too Large
| "414" ; Section 10.4.15: Request-URI Too Large | "414" ; Section 10.4.15: Request-URI Too Large
| "415" ; Section 10.4.16: Unsupported Media Type | "415" ; Section 10.4.16: Unsupported Media Type
| "416" ; Section 10.4.17: Requested range not satisfiable | "416" ; Section 10.4.17: Requested range not satisfiable
| "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 = *<TEXT, excluding CR, LF>
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
entity-header = Allow ; Section 14.7 entity-header = Allow ; Section 14.7
| Content-Encoding ; Section 14.11 | Content-Encoding ; Section 14.11
| Content-Language ; Section 14.12 | Content-Language ; Section 14.12
| Content-Length ; Section 14.13 | Content-Length ; Section 14.13
| Content-Location ; Section 14.14 | Content-Location ; Section 14.14
| Content-MD5 ; Section 14.15 | Content-MD5 ; Section 14.15
| Content-Range ; Section 14.16 | Content-Range ; Section 14.16
| Content-Type ; Section 14.17 | Content-Type ; Section 14.17
| Expires ; Section 14.21 | Expires ; Section 14.21
| Last-Modified ; Section 14.29 | Last-Modified ; Section 14.29
| extension-header | extension-header
extension-header = message-header extension-header = message-header
entity-body = *OCTET entity-body = *OCTET
Accept = "Accept" ":" Accept = "Accept" ":"
#( media-range [ accept-params ] ) #( media-range [ accept-params ] )
media-range = ( "*/*" media-range = ( "*/*"
| ( type "/" "*" ) | ( type "/" "*" )
| ( type "/" subtype ) | ( type "/" subtype )
) *( ";" parameter ) ) *( ";" parameter )
accept-params = ";" "q" "=" qvalue *( accept-extension ) accept-params = ";" "q" "=" qvalue *( accept-extension )
accept-extension = ";" token [ "=" ( token | quoted-string ) ] accept-extension = ";" token [ "=" ( token | quoted-string ) ]
Accept-Charset = "Accept-Charset" ":" Accept-Charset = "Accept-Charset" ":"
1#( ( charset | "*" )[ ";" "q" "=" qvalue ] ) 1#( ( charset | "*" )[ ";" "q" "=" qvalue ] )
Accept-Encoding = "Accept-Encoding" ":" Accept-Encoding = "Accept-Encoding" ":"
1#( codings [ ";" "q" "=" qvalue ] ) 1#( codings [ ";" "q" "=" qvalue ] )
codings = ( content-coding | "*" ) codings = ( content-coding | "*" )
Accept-Language = "Accept-Language" ":" Accept-Language = "Accept-Language" ":"
1#( language-range [ ";" "q" "=" qvalue ] ) 1#( language-range [ ";" "q" "=" qvalue ] )
language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" )
Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges
acceptable-ranges = 1#range-unit | "none" acceptable-ranges = 1#range-unit | "none"
Age = "Age" ":" age-value Age = "Age" ":" age-value
age-value = delta-seconds age-value = delta-seconds
Allow = "Allow" ":" #Method Allow = "Allow" ":" #Method
Authorization = "Authorization" ":" credentials Authorization = "Authorization" ":" credentials
Cache-Control = "Cache-Control" ":" 1#cache-directive Cache-Control = "Cache-Control" ":" 1#cache-directive
cache-directive = cache-request-directive cache-directive = cache-request-directive
| cache-response-directive | cache-response-directive
cache-request-directive = cache-request-directive =
"no-cache" ; Section 14.9.1 "no-cache" ; Section 14.9.1
| "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" [ "=" <"> 1#field-name <"> ] ; Section 14.9.1
| "no-cache" [ "=" <"> 1#field-name <"> ]; Section 14.9.1 | "no-cache" [ "=" <"> 1#field-name <"> ]; 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 RFC 1864> md5-digest = <base64 of 128 bit MD5 digest as per RFC 1864>
Content-Range = "Content-Range" ":" content-range-spec Content-Range = "Content-Range" ":" content-range-spec
content-range-spec = byte-content-range-spec content-range-spec = byte-content-range-spec
byte-content-range-spec = bytes-unit SP byte-content-range-spec = bytes-unit SP
byte-range-resp-spec "/" byte-range-resp-spec "/"
( instance-length | "*" ) ( instance-length | "*" )
byte-range-resp-spec = (first-byte-pos "-" last-byte-pos) byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
| "*" | "*"
instance-length = 1*DIGIT instance-length = 1*DIGIT
Content-Type = "Content-Type" ":" media-type Content-Type = "Content-Type" ":" media-type
Date = "Date" ":" HTTP-date Date = "Date" ":" HTTP-date
ETag = "ETag" ":" entity-tag ETag = "ETag" ":" entity-tag
Expect = "Expect" ":" 1#expectation Expect = "Expect" ":" 1#expectation
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" ":" 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
Last-Modified = "Last-Modified" ":" HTTP-date Last-Modified = "Last-Modified" ":" HTTP-date
Location = "Location" ":" absoluteURI Location = "Location" ":" absoluteURI
Max-Forwards = "Max-Forwards" ":" 1*DIGIT Max-Forwards = "Max-Forwards" ":" 1*DIGIT
Pragma = "Pragma" ":" 1#pragma-directive Pragma = "Pragma" ":" 1#pragma-directive
pragma-directive = "no-cache" | extension-pragma pragma-directive = "no-cache" | extension-pragma
extension-pragma = token [ "=" ( token | quoted-string ) ] extension-pragma = token [ "=" ( token | quoted-string ) ]
Proxy-Authenticate = "Proxy-Authenticate" ":" 1#challenge Proxy-Authenticate = "Proxy-Authenticate" ":" 1#challenge
Proxy-Authorization = "Proxy-Authorization" ":" credentials Proxy-Authorization = "Proxy-Authorization" ":" credentials
ranges-specifier = byte-ranges-specifier ranges-specifier = byte-ranges-specifier
byte-ranges-specifier = bytes-unit "=" byte-range-set byte-ranges-specifier = bytes-unit "=" byte-range-set
byte-range-set = 1#( byte-range-spec | suffix-byte-range-spec ) byte-range-set = 1#( byte-range-spec | suffix-byte-range-spec )
byte-range-spec = first-byte-pos "-" [last-byte-pos] byte-range-spec = first-byte-pos "-" [last-byte-pos]
first-byte-pos = 1*DIGIT first-byte-pos = 1*DIGIT
last-byte-pos = 1*DIGIT last-byte-pos = 1*DIGIT
suffix-byte-range-spec = "-" suffix-length suffix-byte-range-spec = "-" suffix-length
suffix-length = 1*DIGIT suffix-length = 1*DIGIT
Range = "Range" ":" ranges-specifier Range = "Range" ":" ranges-specifier
Referer = "Referer" ":" ( absoluteURI | relativeURI ) Referer = "Referer" ":" ( absoluteURI | relativeURI )
Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds )
Server = "Server" ":" 1*( product | comment ) Server = "Server" ":" 1*( product | comment )
TE = "TE" ":" #( t-codings ) TE = "TE" ":" #( t-codings )
t-codings = "trailers" | ( transfer-extension [ accept-params ] ) t-codings = "trailers" | ( transfer-extension [ accept-params ] )
Trailer = "Trailer" ":" 1#field-name 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 = ( 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 = ( 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 = <"> HTTP-date <">
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 342 lines changed or added

This html diff was produced by rfcdiff 1.44jr. The latest version is available from http://tools.ietf.org/tools/rfcdiff/