Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: d4bc4344f1
Fetching contributors…

Cannot retrieve contributors at this time

211 lines (211 sloc) 10.151 kB
LWS = [CRLF] 1*( SP / HTAB )
tspecials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" / DQUOTE / "/" / "[" / "]" / "?" / "=" / "{" / "}" / SP / HTAB
token = 1*<any CHAR except CTL / tspecials >
comment = "(" *( ctext / comment ) ")"
ctext = <any TEXT except "(" / ")">
quoted-string = ( DQUOTE *( qdtext ) DQUOTE )
qdtext = <any TEXT except DQUOTE>
quoted-pair = "\" CHAR
HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
URI = ( absoluteURI / relativeURI ) ["#" fragment]
absoluteURI = scheme ":" *( uchar / reserved )
relativeURI = net_path / abs_path / rel_path
net_path = "//" net_loc [abs_path]
abs_path = "/" rel_path
rel_path = [path] [";" params] ["?" query]
path = fsegment *( "/" segment )
fsegment = 1*pchar
segment = *pchar
params = param *( ";" param )
param = *( pchar / "/" )
scheme = 1*( ALPHA / DIGIT / "+" / "-" / "." )
net_loc = *( pchar / ";" / "?" )
query = *( uchar / reserved )
fragment = *( uchar / reserved )
pchar = uchar / ":" / "@" / "&" / "=" / "+"
uchar = unreserved / escape
unreserved = ALPHA / DIGIT / safe / extra / national
escape = "%" HEXDIGIT HEXDIGIT
reserved = ";" / "/" / "?" / ":" / "@" / "&" / "=" / "+"
extra = "!" / "*" / "'" / "(" / ")" / ","
safe = "$" / "-" / "_" / "."
unsafe = CTL / SP / DQUOTE / "#" / "%" / "<" / ">"
national = <any OCTET except ALPHA / DIGIT / reserved / extra / safe / unsafe>
http_URL = "http:" "//" host [":" port] [abs_path]
host = <any OCTET except ":" / "/">
port = *DIGIT
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
date2 = 2DIGIT "-" month "-" 2DIGIT
date3 = month SP ( 2DIGIT / ( SP 1DIGIT ) )
time = 2DIGIT ":" 2DIGIT ":" 2DIGIT
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
charset = token
content-coding = token
transfer-coding = "chunked" / transfer-extension
transfer-extension = token
Chunked-Body = *chunk "0" CRLF footer CRLF
chunk = chunk-size [chunk-ext] CRLF chunk-data CRLF
hex-no-zero = <any HEXDIGIT except "0">
chunk-size = hex-no-zero *HEXDIGIT
chunk-ext = *( ";" chunk-ext-name ["=" chunk-ext-value] )
chunk-ext-name = token
chunk-ext-value = token / quoted-string
chunk-data = chunk-size ( OCTET )
footer = *entity-header
media-type = type "/" subtype *( ";" parameter )
type = token
subtype = token
parameter = attribute "=" value
attribute = token
value = token / quoted-string
product = token ["/" product-version]
product-version = token
qvalue = ( "0" ["." 0*3DIGIT] ) / ( "1" ["." 0*3( "0" )] )
language-tag = primary-tag *( "-" subtag )
primary-tag = 1*8ALPHA
subtag = 1*8ALPHA
entity-tag = [weak] opaque-tag
weak = "W/"
opaque-tag = quoted-string
range-unit = bytes-unit / other-range-unit
bytes-unit = "bytes"
other-range-unit = token
HTTP-message = Request / Response
generic-message = start-line *message-header CRLF [message-body]
start-line = Request-Line / Status-Line
message-header = field-name ":" [field-value] CRLF
field-name = token
field-value = *( field-content / LWS )
field-content = <any OCTET except LWS>
message-body = entity-body
general-header = Cache-Control / Connection / Date / Pragma / Transfer-Encoding / Upgrade / Via
Request = Request-Line / *( general-header / request-header / entity-header ) CRLF [message-body]
Request-Line = Method SP Request-URI SP HTTP-Version CRLF
Method = "OPTIONS" / "GET" / "HEAD" / "POST" / "PUT" / "DELETE" / "TRACE" / extension-method
extension-method = token
Request-URI = "*" / absoluteURI / abs_path
request-header = Accept / Accept-Charset / Accept-Encoding / Accept-Language / Authorization / From / Host / If-Modified-Since / If-Match / If-None-Match / If-Range / If-Unmodified-Since / Max-Forwards / Proxy-Authorization / Range / Referer / User-Agent
Response = Status-Line *( general-header / response-header / entity-header ) CRLF [message-body]
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
Status-Code = 3DIGIT
Reason-Phrase = *<any TEXT except CR / LF>
response-header = Age / Location / Proxy-Authenticate / Public / Retry-After / Server / Vary / Warning / WWW-Authenticate / MIME-Version / Content-Version / Derived-From / Link
entity-header = Allow / Content-Base / Content-Encoding / Content-Language / Content-Length / Content-Location / Content-MD5 / Content-Range / Content-Type / ETag / Expires / Last-Modified / extension-header
extension-header = message-header
entity-body = *OCTET
auth-scheme = token
auth-param = token "=" quoted-string
challenge = auth-scheme 1*SP realm *( "," auth-param )
realm = "realm" "=" realm-value
realm-value = quoted-string
credentials = basic-credentials / auth-scheme #auth-param
basic-credentials = "Basic" SP basic-cookie
base64 = *(4base64-char) [base64-terminal]
base64-char = ALPHA / DIGIT / "+" / "/"
base64-terminal = (2base64-char "==") / (3base64-char "=")
basic-cookie = base64
user-pass = userid ":" password
userid = *<any TEXT except ":">
password = *TEXT
Accept = "Accept" ":" #( media-range [accept-params] )
media-range = ( "*/*" / ( type "/" "*" ) / ( type "/" subtype ) ) *( ";" parameter )
accept-params = ";" "q" "=" qvalue *( accept-extension )
accept-extension = ";" token ["=" ( token / quoted-string )]
Accept-Charset = "Accept-Charset" ":" 1#( charset [";" "q" "=" qvalue] )
Accept-Encoding = "Accept-Encoding" ":" #( content-coding )
Accept-Language = "Accept-Language" ":" 1#( language-range [";" "q" "=" qvalue] )
language-range = ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) / "*" )
Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges
acceptable-ranges = 1#range-unit / "none"
Age = "Age" ":" age-value
age-value = delta-seconds
Allow = "Allow" ":" 1#Method
Authorization = "Authorization" ":" credentials
Cache-Control = "Cache-Control" ":" 1#cache-directive
cache-directive = cache-request-directive / cache-response-directive
cache-request-directive = "no-cache" ["=" DQUOTE 1#field-name DQUOTE] / "no-store" / "max-age" "=" delta-seconds / "max-stale" ["=" delta-seconds] / "min-fresh" "=" delta-seconds / "only-if-cached" / cache-extension
cache-response-directive = "public" / "private" ["=" DQUOTE 1#field-name DQUOTE] / "no-cache" ["=" DQUOTE 1#field-name DQUOTE] / "no-store" / "no-transform" / "must-revalidate" / "proxy-revalidate" / "max-age" "=" delta-seconds / cache-extension
cache-extension = token ["=" ( token / quoted-string )]
Connection = Connection-header
Connection-header = "Connection" ":" 1#( connection-token )
connection-token = token
Content-Base = "Content-Base" ":" absoluteURI
Content-Encoding = "Content-Encoding" ":" 1#content-coding
Content-Language = "Content-Language" ":" 1#language-tag
Content-Length = "Content-Length" ":" 1*DIGIT
Content-Location = "Content-Location" ":" ( absoluteURI / relativeURI )
Content-MD5 = "Content-MD5" ":" md5-digest
md5-digest = base64
Content-Range = "Content-Range" ":" content-range-spec
content-range-spec = byte-content-range-spec
byte-content-range-spec = bytes-unit SP first-byte-pos "-" last-byte-pos "/" entity-length
entity-length = 1*DIGIT
Content-Type = "Content-Type" ":" media-type
Date = "Date" ":" HTTP-date
ETag = "ETag" ":" entity-tag
Expires = "Expires" ":" HTTP-date
From = "From" ":" mailbox
mailbox = TEXT
Host = "Host" ":" host [":" port]
If-Modified-Since = "If-Modified-Since" ":" HTTP-date
If-Match = "If-Match" ":" ( "*" / 1#entity-tag )
If-None-Match = "If-None-Match" ":" ( "*" / 1#entity-tag )
If-Range = "If-Range" ":" ( entity-tag / HTTP-date )
If-Unmodified-Since = "If-Unmodified-Since" ":" HTTP-date
Last-Modified = "Last-Modified" ":" HTTP-date
Location = "Location" ":" absoluteURI
Max-Forwards = "Max-Forwards" ":" 1*DIGIT
Pragma = "Pragma" ":" 1#pragma-directive
pragma-directive = "no-cache" / extension-pragma
extension-pragma = token ["=" ( token / quoted-string )]
Proxy-Authenticate = "Proxy-Authenticate" ":" challenge
Proxy-Authorization = "Proxy-Authorization" ":" credentials
Public = "Public" ":" 1#Method
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
suffix-byte-range-spec = "-" suffix-length
suffix-length = 1*DIGIT
Range = "Range" ":" ranges-specifier
Referer = "Referer" ":" ( absoluteURI / relativeURI )
Retry-After = "Retry-After" ":" ( HTTP-date / delta-seconds )
Server = "Server" ":" 1*( product / comment )
Transfer-Encoding = "Transfer-Encoding" ":" 1#transfer-coding
Upgrade = "Upgrade" ":" 1#product
User-Agent = "User-Agent" ":" 1*( product / comment )
Vary = "Vary" ":" ( "*" / 1#field-name )
Via = "Via" ":" 1#( received-protocol received-by [comment] )
received-protocol = [protocol-name "/"] protocol-version
protocol-name = token
protocol-version = token
received-by = ( host [":" port] ) / pseudonym
pseudonym = token
Warning = "Warning" ":" 1#warning-value
warning-value = warn-code SP warn-agent SP warn-text
warn-code = 2DIGIT
warn-agent = ( host [":" port] ) / pseudonym
warn-text = quoted-string
WWW-Authenticate = "WWW-Authenticate" ":" 1#challenge
MIME-Version = "MIME-Version" ":" 1*DIGIT "." 1*DIGIT
Content-Version = "Content-Version" ":" quoted-string
Derived-From = "Derived-From" ":" quoted-string
Link = "Link" ":" #( "<" URI ">" *( ";" link-param ) )
link-param = ( ( "rel" "=" relationship ) / ( "rev" "=" relationship ) / ( "title" "=" quoted-string ) / ( "anchor" "=" DQUOTE URI DQUOTE ) / ( link-extension ) )
link-extension = token ["=" ( token / quoted-string )]
relationship = sgml-name / ( DQUOTE sgml-name *( SP sgml-name ) DQUOTE )
sgml-name = ALPHA *( ALPHA / DIGIT / "." / "-" )
URI-header = "URI" ":" 1#( "<" URI ">" )
Keep-Alive-header = "Keep-Alive" ":" 0#keepalive-param
keepalive-param = param-name "=" value
param-name = *TEXT
TEXT = <any OCTET except CTL>
Jump to Line
Something went wrong with that request. Please try again.