123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576 |
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;
- ; RFC 5234 - ABNF CORE RULES
- ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- OCTET= %x00-FF ; 8 bits of data
- CHAR= %x01-7F ; any 7-bit US-ASCII character, excluding NUL
- VCHAR= %x21-7E ; visible (printing) characters
- ALPHA= %x41-5A / %x61-7A ; A-Z / a-z
- DIGIT= %x30-39 ; 0-9
-
- CTL= %x00-1F / %x7F ; any US-ASCII control character: ; (octets 0 - 31) and DEL (127)
-
- HTAB= %x09 ; horizontal tab
- LF= %x0A ; linefeed
- CR= %x0D ; carriage return
- SP= %x20 ; space
- DQUOTE= %x22 ; " (Double Quote)
- BIT= "0" / "1"
-
- HEXDIG= DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
-
- CRLF= CR LF ; Internet standard newline
- WSP= SP / HTAB ; white space
- LWSP= *(WSP / CRLF WSP) ; linear white space (past newline)
- ;---------------------------------------------------------------------------------------------------------
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;
- ; RFC 2396 - URI
- ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;; 1.6. Syntax Notation and Common Elements
- ;alpha = lowalpha / upalpha
- lowalpha = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" / "j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" / "s" / "t" / "u" / "v" / "w" / "x" / "y" / "z"
- upalpha = "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" / "K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" / "T" / "U" / "V" / "W" / "X" / "Y" / "Z"
- ;digit = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9"
- alphanum = alpha / digit
- ;;;; 2. URI Characters and Escape Sequences
- urlc = reserved / unreserved / escaped
- ;;;; 2.2. Reserved Characters
- reserved = ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / ","
- ;;;; 2.3. Unreserved Characters
- unreserved = alphanum / mark
- mark = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
- ;;;; 2.4.1. Escaped Encoding
- escaped = "%" hex hex
- hex = digit / "A" / "B" / "C" / "D" / "E" / "F" / "a" / "b" / "c" / "d" / "e" / "f"
- ;;;; 2.4.3. Excluded US-ASCII Characters
- control = %x00-1F / %x7F ;<US-ASCII coded characters 00-1F and 7F hexadecimal>
- space = %x20 ;<US-ASCII coded character 20 hexadecimal>
- delims = "<" / ">" / "#" / "%" / DQUOTE
- unwise = "{" / "}" / "/" / "\" / "^" / "[" / "]" / "`"
- ;;;; 3. URI Syntactic Components
- absoluteURI = scheme ":" ( hier-part / opaque-part )
- hier-part = ( net-path / abs-path ) [ "?" query ]
- net-path = "//" authority [ abs-path ]
- abs-path = "/" path-segments
- opaque-part = urlc-no-slash *urlc
- urlc-no-slash = unreserved / escaped / ";" / "?" / ":" / "@" / "&" / "=" / "+" / "$" / ","
- ;;;; 3.1. Scheme Component
- scheme = alpha *( alpha / digit / "+" / "-" / "." )
- ;;;; 3.2. Authority Component
- authority = server / reg-name
- ;;;; Registry-based Naming Authority
- reg-name = 1*( unreserved / escaped / "$" / "," / ";" / ":" / "@" / "&" / "=" / "+" )
- ;;;; 3.2.2. Server-based Naming Authority
- server = [ [ userinfo "@" ] hostport ]
- userinfo = *( unreserved / escaped / ";" / ":" / "&" / "=" / "+" / "$" / "," )
- hostport = host [ ":" port ]
- host = hostname / IPv4address
- hostname = *( domainlabel "." ) toplabel [ "." ]
- domainlabel = alphanum / alphanum *( alphanum / "-" ) alphanum
- toplabel = alpha / alpha *( alphanum / "-" ) alphanum
- IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit
- port = *digit
- ;;;; 3.3. Path Component
- path = [ abs-path / opaque-part ]
- path-segments = segment *( "/" segment )
- segment = *pchar *( ";" param )
- param = *pchar
- pchar = unreserved / escaped / ":" / "@" / "&" / "=" / "+" / "$" / ","
- ;;;; 3.4. Query Component
- query = *urlc
- ;;;; 4. URI References
- URI-reference = [ absoluteURI / relativeURI ] [ "#" fragment ]
- ;;;; 4.1. Fragment Identifier
- fragment = *urlc
- ;;;; 5. Relative URI References
- relativeURI = ( net-path / abs-path / rel-path ) [ "?" query ]
- rel-path = rel-segment [ abs-path ]
- rel-segment = 1*( unreserved / escaped / ";" / "@" / "&" / "=" / "+" / "$" / "," )
- ;---------------------------------------------------------------------------------------------------------
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;
- ; HTTP digest authentication (2617) - ABNF
- ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;; 1.2 Access Authentication Framework
- auth-scheme = token
- auth-param = token "=" ( token / quoted-string )
- challenge = auth-scheme 1*SP auth-param *(COMMA auth-param)
- realm = "realm" "=" realm-value
- realm-value = quoted-string
- ;;;; 2 Basic Authentication Scheme
- basic-challenge = "Basic" realm
- basic-credentials = "Basic" basic-credentials-value
- basic-credentials-value = base64-user-pass
- base64-user-pass = token ;<base64 [4] encoding of user-pass, except not limited to 76 char/line>
- user-pass = userid ":" password
- userid = *TEXT ;*<TEXT excluding ":">
- password = *TEXT
- ;;;; 3.2.1 The WWW-Authenticate Response Header
- ;challenge = "Digest" digest-challenge
- digest-challenge = digest-challenge-value *(COMMA digest-challenge-value)
- digest-challenge-value = ( realm / [ domain ] / nonce / [ opaque ] /[ stale ] / [ algorithm ] / [ qop-options ] / [auth-param] )
- domain = "domain" "=" <"> URI ( 1*SP URI ) <">
- URI = absoluteURI / abs-path
- nonce = "nonce" "=" nonce-value
- nonce-value = quoted-string
- opaque = "opaque" "=" quoted-string
- stale = "stale" "=" ( "true" / "false" )
- algorithm = "algorithm" "=" ( "MD5" / "MD5-sess" / token )
- qop-options = "qop" "=" DQUOTE qop-value *(COMMA qop-value) DQUOTE
- qop-value = "auth" / "auth-int" / token
- ;;;; 3.2.2 The Authorization Request Header
- credentials = "Digest" digest-response
- digest-response = digest-response-value *(COMMA digest-response-value)
- digest-response-value = ( username / realm / nonce / digest-url / auth-response / [ algorithm ] / [cnonce] / [opaque] / [message-qop] / [nonce-count] / [auth-param] )
- username = "username" "=" username-value
- username-value = quoted-string
- digest-url = "url" "=" digest-url-value
- digest-url-value = request-url ; As specified by HTTP/1.1
- message-qop = "qop" "=" qop-value
- cnonce = "cnonce" "=" cnonce-value
- cnonce-value = nonce-value
- nonce-count = "nc" "=" nc-value
- nc-value = 8LHEX
- auth-response = "response" "=" request-digest
- request-digest = DQUOTE 32LHEX DQUOTE
- LHEX = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" / "a" / "b" / "c" / "d" / "e" / "f"
- ;;;; 3.2.3 The Authentication-Info Header
- AuthenticationInfo = "Authentication-Info" ":" auth-info
- auth-info = auth-info-value *(COMMA auth-info-value)
- auth-info-value = (nextnonce / [ message-qop ] / [ response-auth ] / [ cnonce ] / [nonce-count] )
- nextnonce = "nextnonce" "=" nonce-value
- response-auth = "rspauth" "=" response-digest
- response-digest = DQUOTE *LHEX DQUOTE
- ;---------------------------------------------------------------------------------------------------------
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;
- ; HTTP (2616) - ABNF
- ;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- HT = %x09; <US-ASCII HT, horizontal-tab (9)>
- separators = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" / DQUOTE / "/" / "[" / "]" / "?" / "=" / "{" / "}" / SP / HTAB
- token = 1*( alphanum / separators ) ; *<any CHAR except CTLs or separators>
- LWS = [*WSP CRLF] 1*WSP ; linear whitespace
- SWS = [LWS] ; sep whitespace
- TEXT = 1*(token / LWS) ; <any OCTET except CTLs, but including LWS>
- COMMA = SWS "," SWS ; comma
- ;;;; text (from http ==> is it right?)
- TEXT-UTF8-TRIM = 1*TEXT-UTF8char *(*LWS TEXT-UTF8char)
- TEXT-UTF8char = %x21-7E / UTF8-NONASCII
- UTF8-NONASCII = %xC0-DF 1UTF8-CONT / %xE0-EF 2UTF8-CONT / %xF0-F7 3UTF8-CONT / %xF8-FB 4UTF8-CONT / %xFC-FD 5UTF8-CONT
- UTF8-CONT = %x80-BF
- comment = "(" *( ctext / quoted-pair / comment ) ")"
- ctext = %x21-27 / %x2A-5B / %x5D-7E / UTF8-NONASCII / LWS ; <any TEXT excluding "(" and ")">
- ;;;; quoted-string
- quoted-string = ( DQUOTE *(qdtext / quoted-pair ) DQUOTE )
- qdtext = LWS / %x21 / %x23-5B / %x5D-7E / UTF8-NONASCII ; <any TEXT except DQUOTE>
- quoted-pair = "\" CHAR
- ;;;; HTTP-Version
- HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
- ;;;; HTTP-date
- HTTP-date = rfc1123-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"
- ;;;; 3.3.2 Delta Seconds
- delta-seconds = 1*DIGIT
- ;;;; 3.4 Character Sets
- charset = token
- ;;;; 3.5 Content Codings
- content-coding = token
- ;;;; 3.6 Transfer Codings
- transfer-coding = "chunked" / transfer-extension
- transfer-extension = token *( ";" parameter )
- parameter = attribute "=" value
- attribute = token
- value = token / quoted-string
- ;;;; 3.6.1 Chunked Transfer Coding
- Chunked-Body = *chunk last-chunk chunck-trailer CRLF
- chunk = chunk-size [ chunk-extension ] CRLF chunk-data CRLF
- chunk-size = 1*HEX
- last-chunk = 1*("0") [ chunk-extension ] CRLF
- chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
- chunk-ext-name = token
- chunk-ext-val = token / quoted-string
- chunk-data = chunk-size
- chunck-trailer = *(entity-header CRLF)
- ;;;; 3.7 Media Types
- media-type = type "/" subtype *( ";" parameter )
- type = token
- subtype = token
- ;;;; 3.8 Product Tokens
- product = token ["/" product-version]
- product-version = token
- ;;;;3.9 Quality Values
- qvalue = ( "0" [ "." 0*3DIGIT ] ) / ( "1" [ "." 0*3("0") ] )
- ;;;; 3.10 Language Tags
- language-tag = primary-tag *( "-" subtag )
- primary-tag = 1*8ALPHA
- subtag = 1*8ALPHA
- ;;;; 3.11 Entity Tags
- entity-tag = [ weak ] opaque-tag
- weak = "W/"
- opaque-tag = quoted-string
- ;;;; 3.12 Range Units
- range-unit = bytes-unit / other-range-unit
- bytes-unit = "bytes"
- other-range-unit = token
- ;;;; 4.1 Message Types
- HTTP-message = Request / Response ; HTTP/1.1 messages
- generic-message = start-line *(message-header CRLF) CRLF [ message-body ]
- start-line = Request-Line / Status-Line
- ;;;;4.2 Message Headers
- message-header = field-name ":" [ field-value ]
- field-name = token
- field-value = *( field-content / LWS )
- field-content = token ;<the OCTETs making up the field-value and consisting of either *TEXT or combinations of token, separators, and quoted-string>
- ;;;; 4.3 Message Body
- message-body = entity-body ;/ <entity-body encoded as per Transfer-Encoding>
- ;;;; 4.5 General Header Fields
- general-header = Cache-Control / Connection / Date / Pragma / Trailer / Transfer-Encoding / Upgrade / Via / Warning
- ;Cache-Control = "Cache-Control" ":" [ field-value ]
- ;Connection = "Connection" ":" [ field-value ]
- ;Date = "Date" ":" [ field-value ]
- ;Pragma = "Pragma" ":" [ field-value ]
- ;Trailer = "Trailer" ":" [ field-value ]
- ;Transfer-Encoding = "Transfer-Encoding" ":" [ field-value ]
- ;Upgrade = "Upgrade" ":" [ field-value ]
- ;Via = "Via" ":" [ field-value ]
- ;Warning = "Warning" ":" [ field-value ]
- ;;;; 5 Request
- Request = Request-Line *(( general-header / request-header / entity-header ) CRLF) CRLF [ message-body ]
- ;;;; 5.1 Request-Line
- Request-Line = Method SP Request-URI SP HTTP-Version CRLF
- ;;;; 5.1.1 Method
- Method = "OPTIONS" / "GET" / "HEAD" / "POST" / "PUT" / "DELETE" / "TRACE" / "CONNECT" / extension-method
- extension-method = token
- ;;;; 5.1.2 Request-URI
- Request-URI = "*" / absoluteURI / abs-path / authority
- ;;;; 5.3 Request Header Fields
- 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
- ;;;; 6 Response
- Response = Status-Line *(( general-header / response-header / entity-header ) CRLF) CRLF [ message-body ]
- ;;;; 6.1 Status-Line
- Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
- ;;;; 6.1.1 Status Code and Reason Phrase
- Status-Code = "100" / "101" / "200" / "201" / "202" / "203" / "204" / "205" / "206" / "300" / "301" / "302" / "303" / "304" / "305" / "307" / "400" / "401" / "402" / "403" / "404" / "405" / "406" / "407" / "408" / "409" / "410" / "411" / "412" / "413" / "414" / "415" / "416" / "417" / "500" / "501" / "502" / "503" / "504" / "505" / extension-code
- extension-code = 3DIGIT
- Reason-Phrase = *( reserved / unreserved / escaped / UTF8-NONASCII / UTF8-CONT / SP / HTAB ) ;*<TEXT, excluding CR, LF>
- ;;;; 6.2 Response Header Fields
- response-header = Accept-Ranges / Age / ETag / Location / Proxy-Authenticate / Retry-After / Server / Vary / WWW-Authenticate
- ;;;; 7.1 Entity Header Fields
- 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
- ;;;; 7.2 Entity Body
- entity-body = *OCTET
- ;;;; 7.2.1 Type
- ;entity-body := Content-Encoding( Content-Type( data ) )
- ;;;; 14.1 Accept
- Accept = "Accept" ":" [ media-range [ accept-params ] ]
- media-range = ( "*/*" / ( type "/" "*" ) / ( type "/" subtype )) *( ";" parameter )
- accept-params = ";" "q" "=" qvalue *( accept-extension )
- accept-extension = ";" token [ "=" ( token / quoted-string ) ]
- ;;;; 14.2 Accept-Charset
- Accept-Charset = "Accept-Charset" ":" Accept-Charset-Value *(COMMA Accept-Charset-Value)
- Accept-Charset-Value = token;FIXME:( charset / "*" )[ ";" "q" "=" qvalue ] )
- ;;;; 14.3 Accept-Encoding
- Accept-Encoding = "Accept-Encoding" ":" Accept-Encoding-Value *(COMMA Accept-Encoding-Value)
- Accept-Encoding-Value = ( codings [ ";" "q" "=" qvalue ] )
- codings = ( content-coding / "*" )
- ;;;; 14.4 Accept-Language
- Accept-Language = "Accept-Language" ":" Accept-Language-Value *(COMMA Accept-Language-Value)
- Accept-Language-Value = ( language-range [ ";" "q" "=" qvalue ] )
- language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) / "*" )
- ;;;; 14.5 Accept-Ranges
- Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges
- acceptable-ranges = (range-unit *(COMMA range-unit)) / "none"
- ;;;; 14.6 Age
- Age = "Age" ":" age-value
- age-value = delta-seconds
-
- ;;;; 14.7 Allow
- Allow = "Allow" ":" [Method]
- ;;;; 14.8 Authorization
- Authorization = "Authorization" ":" credentials
- ;;;; 14.9 Cache-Control
- Cache-Control = "Cache-Control" ":" cache-directive *(COMMA cache-directive)
- cache-directive = cache-request-directive / cache-response-directive
- cache-request-directive = "no-cache" / "no-store" / "max-age" "=" delta-seconds / "max-stale" [ "=" delta-seconds ] / "min-fresh" "=" delta-seconds / "no-transform" / "only-if-cached" / cache-extension
- cache-response-directive = "public" / "private" [ "=" DQUOTE field-name *(COMMA field-name) DQUOTE ] / "no-cache" [ "=" DQUOTE field-name *(COMMA field-name) DQUOTE ] / "no-store" / "no-transform" / "must-revalidate" / "proxy-revalidate" / "max-age" "=" delta-seconds / "s-maxage" "=" delta-seconds / cache-extension
- cache-extension = token [ "=" ( token / quoted-string ) ]
- ;;;; 14.9.6 Cache Control Extensions
- ;Cache-Control: private, community="UCI"
- ;;;; 14.10 Connection
- Connection = "Connection" ":" (connection-token) *(COMMA connection-token)
- connection-token = token
- ;;;; 14.11 Content-Encoding
- Content-Encoding = "Content-Encoding" ":" content-coding *(COMMA content-coding)
- ;;;; 14.12 Content-Language
- Content-Language = "Content-Language" ":" language-tag *(COMMA language-tag)
- ;;;; 14.13 Content-Length
- Content-Length = "Content-Length" ":" 1*DIGIT
- ;;;; 14.14 Content-Location
- Content-Location = "Content-Location" ":" ( absoluteURI / relativeURI )
- ;;;; 14.15 Content-MD5
- Content-MD5 = "Content-MD5" ":" md5-digest
- md5-digest = *OCTET ;<base64 of 128 bit MD5 digest as per RFC 1864>
- ;;;; 14.16 Content-Range
- Content-Range = "Content-Range" ":" content-range-spec
- content-range-spec = byte-content-range-spec
- byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" ( instance-length / "*" )
- byte-range-resp-spec = (first-byte-pos "-" last-byte-pos) / "*"
- instance-length = 1*DIGIT
- ;;;; 14.17 Content-Type
- Content-Type = "Content-Type" ":" media-type
- ;;;; 14.18 Date
- Date = "Date" ":" HTTP-date
- ;;;; 14.19 ETag
- ETag = "ETag" ":" entity-tag
- ;;;; 14.20 Expect
- Expect = "Expect" ":" expectation *(COMMA expectation)
- expectation = "100-continue" / expectation-extension
- expectation-extension = token [ "=" ( token / quoted-string ) *expect-params ]
- expect-params = ";" token [ "=" ( token / quoted-string ) ]
- ;;;; 14.21 Expires
- Expires = "Expires" ":" HTTP-date
- ;;;; 14.22 From
- From = "From" ":" mailbox
- mailbox = token ; FIXME
- ;;;; 14.23 Host
- Host = "Host" ":" host [ ":" port ] ; Section 3.2.2
- ;;;; 14.24 If-Match
- If-Match = "If-Match" ":" ( "*" / entity-tag *(COMMA entity-tag) )
- ;;;; 14.25 If-Modified-Since
- If-Modified-Since = "If-Modified-Since" ":" HTTP-date
- ;;;; 14.26 If-None-Match
- If-None-Match = "If-None-Match" ":" ( "*" / entity-tag *(COMMA entity-tag) )
- ;;;; 14.27 If-Range
- If-Range = "If-Range" ":" ( entity-tag / HTTP-date )
- ;;;; 14.28 If-Unmodified-Since
- If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
- ;;;; 14.29 Last-Modified
- Last-Modified = "Last-Modified" ":" HTTP-date
- ;;;; 14.30 Location
- Location = "Location" ":" absoluteURI
- ;;;; 14.31 Max-Forwards
- Max-Forwards = "Max-Forwards" ":" 1*DIGIT
- ;;;; 14.32 Pragma
- Pragma = "Pragma" ":" pragma-directive *(COMMA pragma-directive)
- pragma-directive = "no-cache" / extension-pragma
- extension-pragma = token [ "=" ( token / quoted-string ) ]
- ;;;; 14.33 Proxy-Authenticate
- Proxy-Authenticate = "Proxy-Authenticate" ":" challenge *(COMMA challenge)
- ;;;; 14.34 Proxy-Authorization
- Proxy-Authorization = "Proxy-Authorization" ":" credentials
- ;;;; 14.35.1 Byte Ranges
- ranges-specifier = byte-ranges-specifier
- byte-ranges-specifier = bytes-unit "=" byte-range-set
- byte-range-set = byte-range-set-value *(COMMA byte-range-set-value)
- byte-range-set-value = ( 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
- suffix-length = 1*DIGIT
- ;;;; 14.35.2 Range Retrieval Requests
- Range = "Range" ":" ranges-specifier
- ;;;; 14.36 Referer
- Referer = "Referer" ":" ( absoluteURI / relativeURI )
- ;;;; 14.37 Retry-After
- Retry-After = "Retry-After" ":" ( HTTP-date / delta-seconds )
- ;;;; 14.38 Server
- Server = "Server" ":" 1*( product / comment )
- ;;;; 14.39 TE
- TE = "TE" ":" [t-codings *(COMMA t-codings)]
- t-codings = "trailers" / ( transfer-extension [ accept-params ] )
- ;;;; 14.40 Trailer
- Trailer = "Trailer" ":" field-name *(COMMA field-name)
- ;;;; 14.41 Transfer-Encoding
- Transfer-Encoding = "Transfer-Encoding" ":" transfer-coding *(COMMA transfer-coding)
- ;;;; 14.42 Upgrade
- Upgrade = "Upgrade" ":" product *(COMMA product)
- ;;;; 14.43 User-Agent
- User-Agent = "User-Agent" ":" 1*( product / comment )
- ;;;; 14.44 Vary
- Vary = "Vary" ":" ( "*" / field-name *(COMMA field-name) )
- ;;;; 14.45 Via
- Via = "Via" ":" Via-Value *(COMMA Via-Value)
- Via-Value = ( received-protocol received-by [ comment ] )
- received-protocol = [ protocol-name "/" ] protocol-version
- protocol-name = token
- protocol-version = token
- received-by = ( host [ ":" port ] ) / pseudonym
- pseudonym = token
- ;;;; 14.46 Warning
- Warning = "Warning" ":" warning-value *(COMMA warning-value)
- warning-value = warn-code SP warn-agent SP warn-text [SP warn-date]
- warn-code = 3DIGIT
- warn-agent = ( host [ ":" port ] ) / pseudonym ; the name or pseudonym of the server adding ; the Warning header, for use in debugging
- warn-text = quoted-string
- warn-date = DQUOTE HTTP-date DQUOTE
- ;;;; 14.47 WWW-Authenticate
- WWW-Authenticate = "WWW-Authenticate" ":" challenge *(COMMA challenge)
|