tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info




ABNF for HTTP/1.1 – Hypertext Transfer Protocol – RFC 7230 to 7235

3  of  3

 

Here

Top

Up

Prev

 

Message_Format     Header_Fields     URIs_and_Request_Target     Transfer_Codings
Date_Time     Range_Units     Challenge_Response_Authentication     Miscellaneous

RFC 7230 – Section 2.7

RFC 7230 – Section 5.3

Up

absolute-path   =
1*(  "/"   segment  )

partial-URI   =
relative-part   [ "?"   query ]

http-URI   =
"http:"   "//"   authority   path-abempty   [ "?"   query ]   [ "#"   fragment ]

https-URI   =
"https:"   "//"   authority   path-abempty   [ "?"   query ]   [ "#"   fragment ]

request-target   =
origin-form   =
absolute-path   [ "?"   query ]

absolute-form   =
authority-form   =
asterisk-form   =
"*"



Message_Format     Header_Fields     URIs_and_Request_Target     Transfer_Codings
Date_Time     Range_Units     Challenge_Response_Authentication     Miscellaneous

RFC 7230 – Section 4

Up

transfer-coding   =
"chunked"  /     ;  RFC 7230 – Section 4.1
"compress"  /     ;  RFC 7230 – Section 4.2.1
"deflate"  /     ;  RFC 7230 – Section 4.2.2
"gzip"  /     ;  RFC 7230 – Section 4.2.3
transfer-extension

transfer-extension   =
token   *( OWS   ";"   OWS   transfer-parameter )

transfer-parameter   =
token   BWS   "="   BWS   ( token  /  quoted-string )

chunked-body   =
*chunk     last-chunk     trailer-part     CRLF

chunk   =
chunk-size   =
1*HEXDIG

last-chunk   =
1*( "0" )   [ chunk-ext ]   CRLF

chunk-data   =
1*OCTET
; a sequence of chunk-size octets

chunk-ext   =
*(  ";"   chunk-ext-name   [ "="   chunk-ext-val ]  )

chunk-ext-name   =
chunk-ext-val   =
trailer-part   =
*( header-field   CRLF )



Message_Format     Header_Fields     URIs_and_Request_Target     Transfer_Codings
Date_Time     Range_Units     Challenge_Response_Authentication     Miscellaneous

RFC 7231 – Section 7.1

RFC 7234 – Section 1.2.1

Up

HTTP-date   =
IMF-fixdate   =
day-name   ","   SP   date1   SP   time-of-day   SP   GMT
; fixed length/zone/capitalization
; subset of the format
; see   RFC 5322 – Section 3.3

day-name   =
%x4D.6F.6E   /     ;  "Mon"   case-sensitive
%x54.75.65   /     ;  "Tue"   case-sensitive
%x57.65.64   /     ;  "Wed"   case-sensitive
%x54.68.75   /     ;  "Thu"   case-sensitive
%x46.72.69   /     ;  "Fri"   case-sensitive
%x53.61.74   /     ;  "Sat"   case-sensitive
%x53.75.6E     ;  "Sun"   case-sensitive

date1   =
day   SP   month   SP   year
; e.g. 02 Jun 1982

day   =
month   =
%x4A.61.6E   /     ;  "Jan"   case-sensitive
%x46.65.62   /     ;  "Feb"   case-sensitive
%x4D.61.72   /     ;  "Mar"   case-sensitive
%x41.70.72   /     ;  "Apr"   case-sensitive
%x4D.61.79   /     ;  "May"   case-sensitive
%x4A.75.6E   /     ;  "Jun"   case-sensitive
%x4A.75.6C   /     ;  "Jul"   case-sensitive
%x41.75.67   /     ;  "Aug"   case-sensitive
%x53.65.70   /     ;  "Sep"   case-sensitive
%x4F.63.74   /     ;  "Oct"   case-sensitive
%x4E.6F.76   /     ;  "Nov"   case-sensitive
%x44.65.63     ;  "Dec"   case-sensitive

year   =
GMT   =
%x47.4D.54
; "GMT"   case-sensitive

time-of-day   =
hour   ":"   minute   ":"   second
; 00:00:00 - 23:59:60 (leap second)

hour   =
minute   =
second   =
obs-date   =
rfc850-date   =
day-name-l   ","   SP   date2   SP   time-of-day   SP   GMT

date2   =
day   "-"   month   "-"   2DIGIT

day-name-l   =
%x4D.6F.6E.64.61.79   /
; "Monday"   case-sensitive
%x54.75.65.73.64.61.79   /
; "Tuesday"   case-sensitive
%x57.65.64.6E.65.73.64.61.79   /
; "Wednesday"   case-sensitive
%x54.68.75.72.73.64.61.79   /
; "Thursday"   case-sensitive
%x46.72.69.64.61.79   /
; "Friday"   case-sensitive
%x53.61.74.75.72.64.61.79   /
; "Saturday"   case-sensitive
%x53.75.6E.64.61.79
; "Sunday"   case-sensitive

asctime-date   =
day-name   SP   date3   SP   time-of-day   SP   year

date3   =
month   SP   ( 2DIGIT  /  ( SP   1DIGIT ))
; e.g. Jun 2

delta-seconds   =



Message_Format     Header_Fields     URIs_and_Request_Target     Transfer_Codings
Date_Time     Range_Units     Challenge_Response_Authentication     Miscellaneous

RFC 7233 – Section 2

Up

range-unit   =
bytes-unit   =
"bytes"

byte-ranges-specifier   =
byte-range-set   =
byte-range-spec   =
first-byte-pos   =
1*DIGIT

last-byte-pos   =
1*DIGIT

suffix-byte-range-spec   =
"-"   suffix-length

suffix-length   =
1*DIGIT

other-range-unit   =



Message_Format     Header_Fields     URIs_and_Request_Target     Transfer_Codings
Date_Time     Range_Units     Challenge_Response_Authentication     Miscellaneous

RFC 7235 – Section 2.1

Up

auth-scheme   =
auth-param   =
token   BWS   "="   BWS   ( token  /  quoted-string )

token68   =
1*( ALPHA  /  DIGIT  /  "-"  /  "."  /  "_"  /  "~"  /  "+"  /  "/" ) *"="

challenge   =
auth-scheme   [ 1*SP   ( token68  /  #auth-param ) ]

credentials   =
auth-scheme   [ 1*SP   ( token68  /  #auth-param ) ]



Message_Format     Header_Fields     URIs_and_Request_Target     Transfer_Codings
Date_Time     Range_Units     Challenge_Response_Authentication     Miscellaneous

Up

 

RFC 7230 – Section 3.2.3

Up

OWS   =
*( SP  /  HTAB )
; optional whitespace

RWS   =
1*( SP  /  HTAB )
; required whitespace

BWS   =
OWS
; "bad" whitespace


RFC 7230 – Section 3.2.6

Up

token   =
1*tchar

tchar   =
"!"  /  "#"  /  "$"  /  "%"  /  "&"  /  " ' "  /  "*"  /
"+"  /  "-"  /  "."  /  "^"  /  "_"  /  "`"  /  "|"  /  "~"  /
DIGIT  /  ALPHA
; any VCHAR, except delimiters

quoted-string   =
DQUOTE   *( qdtext  /  quoted-pair )   DQUOTE

qdtext   =
HTAB  /  SP  /  %x21  /  %x23-5B  /  %x5D-7E  /  obs-text

obs-text   =
%x80-FF

comment   =
"("   *( ctext  /  quoted-pair  /  comment )   ")"

ctext   =
HTAB  /  SP  /  %x21-27  /  %x2A-5B  /  %x5D-7E  /  obs-text

quoted-pair   =
"\"   ( HTAB  /  SP  /  VCHAR  /  obs-text )


RFC 7231 – Section 3.1

Up

media-type   =
type   "/"   subtype   *( OWS   ";"   OWS   parameter )

type   =
subtype   =
parameter   =
token   "="   ( token    /  quoted-string )

charset   =
content-coding   =
language-tag   =
<Language-Tag, see   RFC 5646Section 2.1>


RFC 7231 – Section 5.3.1

Up

weight   =
OWS   ";"   OWS   "q="   qvalue

qvalue   =
( "0"   [ "."   0*3DIGIT ] )  /  ( "1"   [ "."   0*3( "0" ) ] )