Changeset 425 for draft-ietf-httpbis
- Timestamp:
- 21/11/08 20:25:09 (12 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/Makefile
r421 r425 78 78 79 79 %.parsed-abnf: %.abnf 80 $(bap)/bap < $< | sort | $(bap)/bap -l 69 >$@81 82 p1-messaging.parsed-abnf: p1-messaging.abnf83 80 $(bap)/bap -i $(bap)/core.abnf < $< | sort | $(bap)/bap -i $(bap)/core.abnf -l 69 >$@ 84 81 -
draft-ietf-httpbis/latest/abnf2xml2rfc.xslt
r421 r425 13 13 <figure> 14 14 <artwork type="abnf" name="{$abnf}"> 15 <xsl:value-of select="$collected"/> 15 <xsl:text> </xsl:text> 16 <xsl:value-of select="translate($collected,' ','')"/> 16 17 </artwork> 17 18 </figure> 18 19 </section> 19 20 20 <!-- check whether it's up 2date... -->21 <!-- check whether it's up-to-date... --> 21 22 22 <xsl:if test="not(//section[@anchor='collected.abnf']) or //section[@anchor='collected.abnf']//artwork != $collected">23 <xsl:if test="not(//section[@anchor='collected.abnf']) or normalize-space(//section[@anchor='collected.abnf']//artwork) != normalize-space($collected)"> 23 24 <xsl:message>WARNING: appendix contained inside source document needs to be updated</xsl:message> 24 <!--<xsl:message>A: <xsl:value-of select="//section[@anchor='collected.abnf']//artwork"/></xsl:message>25 <!--<xsl:message>A: <xsl:value-of select="//section[@anchor='collected.abnf']//artwork"/></xsl:message> 25 26 <xsl:message>B: <xsl:value-of select="$collected"/></xsl:message>--> 26 27 </xsl:if> -
draft-ietf-httpbis/latest/p1-messaging.xml
r424 r425 4399 4399 <section title="Collected ABNF" anchor="collected.abnf"> 4400 4400 <figure> 4401 <artwork type="abnf" name="p1-messaging.parsed-abnf">BWS = OWS
 4402 Cache-Control = <Cache-Control, defined in [Part6], Section 15.4>
 4403 Chunked-Body = *chunk last-chunk trailer-part CRLF
 4404 Connection = "Connection:" OWS Connection-v
 4405 Connection-v = *( "," OWS ) connection-token *( OWS "," [ OWS
 4406 connection-token ] )
 4407 Content-Length = "Content-Length:" OWS 1*Content-Length-v
 4408 Content-Length-v = 1*DIGIT
 4409 Date = "Date:" OWS Date-v
 4410 Date-v = HTTP-date
 4411 GMT = %x47.4D.54
 4412 HTTP-Prot-Name = %x48.54.54.50
 4413 HTTP-Version = HTTP-Prot-Name "/" 1*DIGIT "." 1*DIGIT
 4414 HTTP-date = rfc1123-date / obsolete-date
 4415 HTTP-message = Request / Response
 4416 Host = "Host:" OWS Host-v
 4417 Host-v = uri-host [ ":" port ]
 4418 Method = token
 4419 OWS = *( [ obs-fold ] WSP )
 4420 Pragma = <Pragma, defined in [Part6], Section 15.4>
 4421 RWS = 1*( [ obs-fold ] WSP )
 4422 Reason-Phrase = *( WSP / VCHAR / obs-text )
 4423 Request = Request-Line *( ( general-header / request-header /
 4424 entity-header ) CRLF ) CRLF [ message-body ]
 4425 Request-Line = Method SP request-target SP HTTP-Version CRLF
 4426 Response = Status-Line *( ( general-header / response-header /
 4427 entity-header ) CRLF ) CRLF [ message-body ]
 4428 Status-Code = 3DIGIT
 4429 Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
 4430 TE = "TE:" OWS TE-v
 4431 TE-v = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ]
 4432 Trailer = "Trailer:" OWS Trailer-v
 4433 Trailer-v = *( "," OWS ) field-name *( OWS "," [ OWS field-name ] )
 4434 Transfer-Encoding = "Transfer-Encoding:" OWS Transfer-Encoding-v
 4435 Transfer-Encoding-v = *( "," OWS ) transfer-coding *( OWS "," [ OWS
 4436 transfer-coding ] )
 4437 URI = <URI, defined in [RFC3986], Section 3>
 4438 URI-reference = <URI-reference, defined in [RFC3986], Section 4.1>
 4439 Upgrade = "Upgrade:" OWS Upgrade-v
 4440 Upgrade-v = *( "," OWS ) product *( OWS "," [ OWS product ] )
 4441 Via = "Via:" OWS Via-v
 4442 Via-v = *( "," OWS ) received-protocol RWS received-by [ RWS comment
 4443 ] *( OWS "," [ OWS received-protocol RWS received-by [ RWS comment ]
 4444 ] )
 4445 Warning = <Warning, defined in [Part6], Section 15.6>
 4446 absolute-URI = <absolute-URI, defined in [RFC3986], Section 4.3>
 4447 accept-params = <accept-params, defined in [Part3], Section 5.1>
 4448 asctime-date = wkday SP date3 SP time SP 4DIGIT
 4449 attribute = token
 4450 authority = <authority, defined in [RFC3986], Section 3.2>
 4451 chunk = chunk-size *WSP [ chunk-ext ] CRLF chunk-data CRLF
 4452 chunk-data = 1*OCTET
 4453 chunk-ext = *( ";" *WSP chunk-ext-name [ "=" chunk-ext-val ] *WSP )
 4454 chunk-ext-name = token
 4455 chunk-ext-val = token / quoted-string
 4456 chunk-size = 1*HEXDIG
 4457 comment = "(" *( ctext / quoted-pair / comment ) ")"
 4458 connection-token = token
 4459 ctext = *( OWS / %x21-27 / %x2A-7E / obs-text )
 4460 date1 = 2DIGIT SP month SP 4DIGIT
 4461 date2 = 2DIGIT "-" month "-" 2DIGIT
 4462 date3 = month SP ( 2DIGIT / ( SP DIGIT ) )
 4463 entity-body = <entity-body, defined in [Part3], Section 3.2>
 4464 entity-header = <entity-header, defined in [Part3], Section 3.1>
 4465 field-content = *( WSP / VCHAR / obs-text )
 4466 field-name = token
 4467 field-value = *( field-content / OWS )
 4468 fragment = <fragment, defined in [RFC3986], Section 3.5>
 4469 general-header = Cache-Control / Connection / Date / Pragma / Trailer
 4470 / Transfer-Encoding / Upgrade / Via / Warning
 4471 generic-message = start-line *( message-header CRLF ) CRLF [
 4472 message-body ]
 4473 http-URI = "http://" authority path-abempty [ "?" query ]
 4474 l-Fri = %x46.72.69.64.61.79
 4475 l-Mon = %x4D.6F.6E.64.61.79
 4476 l-Sat = %x53.61.74.75.72.64.61.79
 4477 l-Sun = %x53.75.6E.64.61.79
 4478 l-Thu = %x54.68.75.72.73.64.61.79
 4479 l-Tue = %x54.75.65.73.64.61.79
 4480 l-Wed = %x57.65.64.6E.65.73.64.61.79
 4481 last-chunk = 1*"0" *WSP [ chunk-ext ] CRLF
 4482 message-body = entity-body / <entity-body encoded as per
 4483 Transfer-Encoding>
 4484 message-header = field-name ":" OWS [ field-value ] OWS
 4485 month = s-Jan / s-Feb / s-Mar / s-Apr / s-May / s-Jun / s-Jul / s-Aug
 4486 / s-Sep / s-Oct / s-Nov / s-Dec
 4487 obs-fold = CRLF
 4488 obs-text = %x80-FF
 4489 obsolete-date = rfc850-date / asctime-date
 4490 parameter = attribute BWS "=" BWS value
 4491 partial-URI = relative-part [ "?" query ]
 4492 path-abempty = <path-abempty, defined in [RFC3986], Section 3.3>
 4493 path-absolute = <path-absolute, defined in [RFC3986], Section 3.3>
 4494 port = <port, defined in [RFC3986], Section 3.2.3>
 4495 product = token [ "/" product-version ]
 4496 product-version = token
 4497 protocol-name = token
 4498 protocol-version = token
 4499 pseudonym = token
 4500 qdtext = *( OWS / "!" / %x23-5B / %x5D-7E / obs-text )
 4501 query = <query, defined in [RFC3986], Section 3.4>
 4502 quoted-pair = "\" quoted-text
 4503 quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE
 4504 quoted-text = %x01-09 / %x0B-0C / %x0E-FF
 4505 received-by = ( uri-host [ ":" port ] ) / pseudonym
 4506 received-protocol = [ protocol-name "/" ] protocol-version
 4507 relative-part = <relative-part, defined in [RFC3986], Section 4.2>
 4508 request-header = <request-header, defined in [Part2], Section 3>
 4509 request-target = "*" / absolute-URI / ( path-absolute [ "?" query ] )
 4510 / authority
 4511 response-header = <response-header, defined in [Part2], Section 5>
 4512 rfc1123-date = wkday "," SP date1 SP time SP GMT
 4513 rfc850-date = weekday "," SP date2 SP time SP GMT
 4514 s-Apr = %x41.70.72
 4515 s-Aug = %x41.75.67
 4516 s-Dec = %x44.65.63
 4517 s-Feb = %x46.65.62
 4518 s-Fri = %x46.72.69
 4519 s-Jan = %x4A.61.6E
 4520 s-Jul = %x4A.75.6C
 4521 s-Jun = %x4A.75.6E
 4522 s-Mar = %x4D.61.72
 4523 s-May = %x4D.61.79
 4524 s-Mon = %x4D.6F.6E
 4525 s-Nov = %x4E.6F.76
 4526 s-Oct = %x4F.63.74
 4527 s-Sat = %x53.61.74
 4528 s-Sep = %x53.65.70
 4529 s-Sun = %x53.75.6E
 4530 s-Thu = %x54.68.75
 4531 s-Tue = %x54.75.65
 4532 s-Wed = %x57.65.64
 4533 start-line = Request-Line / Status-Line
 4534 t-codings = "trailers" / ( transfer-extension [ accept-params ] )
 4535 tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
 4536 "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
 4537 time = 2DIGIT ":" 2DIGIT ":" 2DIGIT
 4538 token = 1*tchar
 4539 trailer-part = *( entity-header CRLF )
 4540 transfer-coding = "chunked" / transfer-extension
 4541 transfer-extension = token *( OWS ";" OWS parameter )
 4542 uri-host = <host, defined in [RFC3986], Section 3.2.2>
 4543 value = token / quoted-string
 4544 weekday = l-Mon / l-Tue / l-Wed / l-Thu / l-Fri / l-Sat / l-Sun
 4545 wkday = s-Mon / s-Tue / s-Wed / s-Thu / s-Fri / s-Sat / s-Sun
 4546 ; Chunked-Body defined but not used
 4547 ; Content-Length defined but not used
 4548 ; HTTP-message defined but not used
 4549 ; Host defined but not used
 4550 ; TE defined but not used
 4551 ; URI defined but not used
 4552 ; URI-reference defined but not used
 4553 ; fragment defined but not used
 4554 ; generic-message defined but not used
 4555 ; http-URI defined but not used
 4556 ; partial-URI defined but not used
 4401 <artwork type="abnf" name="p1-messaging.parsed-abnf"> 4402 BWS = OWS 4403 Cache-Control = <Cache-Control, defined in [Part6], Section 15.4> 4404 Chunked-Body = *chunk last-chunk trailer-part CRLF 4405 Connection = "Connection:" OWS Connection-v 4406 Connection-v = *( "," OWS ) connection-token *( OWS "," [ OWS 4407 connection-token ] ) 4408 Content-Length = "Content-Length:" OWS 1*Content-Length-v 4409 Content-Length-v = 1*DIGIT 4410 Date = "Date:" OWS Date-v 4411 Date-v = HTTP-date 4412 GMT = %x47.4D.54 4413 HTTP-Prot-Name = %x48.54.54.50 4414 HTTP-Version = HTTP-Prot-Name "/" 1*DIGIT "." 1*DIGIT 4415 HTTP-date = rfc1123-date / obsolete-date 4416 HTTP-message = Request / Response 4417 Host = "Host:" OWS Host-v 4418 Host-v = uri-host [ ":" port ] 4419 Method = token 4420 OWS = *( [ obs-fold ] WSP ) 4421 Pragma = <Pragma, defined in [Part6], Section 15.4> 4422 RWS = 1*( [ obs-fold ] WSP ) 4423 Reason-Phrase = *( WSP / VCHAR / obs-text ) 4424 Request = Request-Line *( ( general-header / request-header / 4425 entity-header ) CRLF ) CRLF [ message-body ] 4426 Request-Line = Method SP request-target SP HTTP-Version CRLF 4427 Response = Status-Line *( ( general-header / response-header / 4428 entity-header ) CRLF ) CRLF [ message-body ] 4429 Status-Code = 3DIGIT 4430 Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF 4431 TE = "TE:" OWS TE-v 4432 TE-v = [ ( "," / t-codings ) *( OWS "," [ OWS t-codings ] ) ] 4433 Trailer = "Trailer:" OWS Trailer-v 4434 Trailer-v = *( "," OWS ) field-name *( OWS "," [ OWS field-name ] ) 4435 Transfer-Encoding = "Transfer-Encoding:" OWS Transfer-Encoding-v 4436 Transfer-Encoding-v = *( "," OWS ) transfer-coding *( OWS "," [ OWS 4437 transfer-coding ] ) 4438 URI = <URI, defined in [RFC3986], Section 3> 4439 URI-reference = <URI-reference, defined in [RFC3986], Section 4.1> 4440 Upgrade = "Upgrade:" OWS Upgrade-v 4441 Upgrade-v = *( "," OWS ) product *( OWS "," [ OWS product ] ) 4442 Via = "Via:" OWS Via-v 4443 Via-v = *( "," OWS ) received-protocol RWS received-by [ RWS comment 4444 ] *( OWS "," [ OWS received-protocol RWS received-by [ RWS comment ] 4445 ] ) 4446 Warning = <Warning, defined in [Part6], Section 15.6> 4447 absolute-URI = <absolute-URI, defined in [RFC3986], Section 4.3> 4448 accept-params = <accept-params, defined in [Part3], Section 5.1> 4449 asctime-date = wkday SP date3 SP time SP 4DIGIT 4450 attribute = token 4451 authority = <authority, defined in [RFC3986], Section 3.2> 4452 chunk = chunk-size *WSP [ chunk-ext ] CRLF chunk-data CRLF 4453 chunk-data = 1*OCTET 4454 chunk-ext = *( ";" *WSP chunk-ext-name [ "=" chunk-ext-val ] *WSP ) 4455 chunk-ext-name = token 4456 chunk-ext-val = token / quoted-string 4457 chunk-size = 1*HEXDIG 4458 comment = "(" *( ctext / quoted-pair / comment ) ")" 4459 connection-token = token 4460 ctext = *( OWS / %x21-27 / %x2A-7E / obs-text ) 4461 date1 = 2DIGIT SP month SP 4DIGIT 4462 date2 = 2DIGIT "-" month "-" 2DIGIT 4463 date3 = month SP ( 2DIGIT / ( SP DIGIT ) ) 4464 entity-body = <entity-body, defined in [Part3], Section 3.2> 4465 entity-header = <entity-header, defined in [Part3], Section 3.1> 4466 field-content = *( WSP / VCHAR / obs-text ) 4467 field-name = token 4468 field-value = *( field-content / OWS ) 4469 fragment = <fragment, defined in [RFC3986], Section 3.5> 4470 general-header = Cache-Control / Connection / Date / Pragma / Trailer 4471 / Transfer-Encoding / Upgrade / Via / Warning 4472 generic-message = start-line *( message-header CRLF ) CRLF [ 4473 message-body ] 4474 http-URI = "http://" authority path-abempty [ "?" query ] 4475 l-Fri = %x46.72.69.64.61.79 4476 l-Mon = %x4D.6F.6E.64.61.79 4477 l-Sat = %x53.61.74.75.72.64.61.79 4478 l-Sun = %x53.75.6E.64.61.79 4479 l-Thu = %x54.68.75.72.73.64.61.79 4480 l-Tue = %x54.75.65.73.64.61.79 4481 l-Wed = %x57.65.64.6E.65.73.64.61.79 4482 last-chunk = 1*"0" *WSP [ chunk-ext ] CRLF 4483 message-body = entity-body / <entity-body encoded as per 4484 Transfer-Encoding> 4485 message-header = field-name ":" OWS [ field-value ] OWS 4486 month = s-Jan / s-Feb / s-Mar / s-Apr / s-May / s-Jun / s-Jul / s-Aug 4487 / s-Sep / s-Oct / s-Nov / s-Dec 4488 obs-fold = CRLF 4489 obs-text = %x80-FF 4490 obsolete-date = rfc850-date / asctime-date 4491 parameter = attribute BWS "=" BWS value 4492 partial-URI = relative-part [ "?" query ] 4493 path-abempty = <path-abempty, defined in [RFC3986], Section 3.3> 4494 path-absolute = <path-absolute, defined in [RFC3986], Section 3.3> 4495 port = <port, defined in [RFC3986], Section 3.2.3> 4496 product = token [ "/" product-version ] 4497 product-version = token 4498 protocol-name = token 4499 protocol-version = token 4500 pseudonym = token 4501 qdtext = *( OWS / "!" / %x23-5B / %x5D-7E / obs-text ) 4502 query = <query, defined in [RFC3986], Section 3.4> 4503 quoted-pair = "\" quoted-text 4504 quoted-string = DQUOTE *( qdtext / quoted-pair ) DQUOTE 4505 quoted-text = %x01-09 / %x0B-0C / %x0E-FF 4506 received-by = ( uri-host [ ":" port ] ) / pseudonym 4507 received-protocol = [ protocol-name "/" ] protocol-version 4508 relative-part = <relative-part, defined in [RFC3986], Section 4.2> 4509 request-header = <request-header, defined in [Part2], Section 3> 4510 request-target = "*" / absolute-URI / ( path-absolute [ "?" query ] ) 4511 / authority 4512 response-header = <response-header, defined in [Part2], Section 5> 4513 rfc1123-date = wkday "," SP date1 SP time SP GMT 4514 rfc850-date = weekday "," SP date2 SP time SP GMT 4515 s-Apr = %x41.70.72 4516 s-Aug = %x41.75.67 4517 s-Dec = %x44.65.63 4518 s-Feb = %x46.65.62 4519 s-Fri = %x46.72.69 4520 s-Jan = %x4A.61.6E 4521 s-Jul = %x4A.75.6C 4522 s-Jun = %x4A.75.6E 4523 s-Mar = %x4D.61.72 4524 s-May = %x4D.61.79 4525 s-Mon = %x4D.6F.6E 4526 s-Nov = %x4E.6F.76 4527 s-Oct = %x4F.63.74 4528 s-Sat = %x53.61.74 4529 s-Sep = %x53.65.70 4530 s-Sun = %x53.75.6E 4531 s-Thu = %x54.68.75 4532 s-Tue = %x54.75.65 4533 s-Wed = %x57.65.64 4534 start-line = Request-Line / Status-Line 4535 t-codings = "trailers" / ( transfer-extension [ accept-params ] ) 4536 tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / 4537 "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA 4538 time = 2DIGIT ":" 2DIGIT ":" 2DIGIT 4539 token = 1*tchar 4540 trailer-part = *( entity-header CRLF ) 4541 transfer-coding = "chunked" / transfer-extension 4542 transfer-extension = token *( OWS ";" OWS parameter ) 4543 uri-host = <host, defined in [RFC3986], Section 3.2.2> 4544 value = token / quoted-string 4545 weekday = l-Mon / l-Tue / l-Wed / l-Thu / l-Fri / l-Sat / l-Sun 4546 wkday = s-Mon / s-Tue / s-Wed / s-Thu / s-Fri / s-Sat / s-Sun 4547 ; Chunked-Body defined but not used 4548 ; Content-Length defined but not used 4549 ; HTTP-message defined but not used 4550 ; Host defined but not used 4551 ; TE defined but not used 4552 ; URI defined but not used 4553 ; URI-reference defined but not used 4554 ; fragment defined but not used 4555 ; generic-message defined but not used 4556 ; http-URI defined but not used 4557 ; partial-URI defined but not used 4557 4558 </artwork> 4558 4559 </figure> -
draft-ietf-httpbis/latest/p2-semantics.html
r424 r425 678 678 </p> 679 679 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 680 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 680 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 681 (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), VCHAR (any visible USASCII character), 682 and WSP (whitespace). 681 683 </p> 682 684 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 683 685 <p id="rfc.section.1.2.1.p.1">The core rules below are defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: 684 686 </p> 685 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">CR</a> = <CR, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 686 <a href="#core.rules" class="smpl">DIGIT</a> = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 687 <a href="#core.rules" class="smpl">LF</a> = <LF, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 688 <a href="#core.rules" class="smpl">VCHAR</a> = <VCHAR, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 689 <a href="#core.rules" class="smpl">WSP</a> = <WSP, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 690 </pre><div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#core.rules" class="smpl">comment</a> = <comment, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 691 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 692 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 693 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 694 <a href="#core.rules" class="smpl">RWS</a> = <RWS, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 695 <a href="#core.rules" class="smpl">obs-text</a> = <obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 687 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">comment</a> = <comment, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 688 <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 689 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 690 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 691 <a href="#core.rules" class="smpl">RWS</a> = <RWS, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 692 <a href="#core.rules" class="smpl">obs-text</a> = <obs-text, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 696 693 </pre><h3 id="rfc.section.1.2.2"><a href="#rfc.section.1.2.2">1.2.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 697 694 <p id="rfc.section.1.2.2.p.1">The ABNF rules below are defined in other parts:</p> 698 <div id="rfc.figure.u. 3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>699 <a href="#abnf.dependencies" class="smpl">fragment</a> = <fragment, defined in <a href="#Part1" id="rfc.xref.Part1.1 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>700 <a href="#abnf.dependencies" class="smpl">Host</a> = <Host, defined in <a href="#Part1" id="rfc.xref.Part1.1 7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>701 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.1 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>>702 <a href="#abnf.dependencies" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.1 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>703 <a href="#abnf.dependencies" class="smpl">product</a> = <product, defined in <a href="#Part1" id="rfc.xref.Part1. 20"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.4</a>>704 <a href="#abnf.dependencies" class="smpl">TE</a> = <TE, defined in <a href="#Part1" id="rfc.xref.Part1. 21"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a>>705 </pre><div id="rfc.figure.u. 4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Accept</a> = <Accept, defined in <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 5.1</a>>695 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 696 <a href="#abnf.dependencies" class="smpl">fragment</a> = <fragment, defined in <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 697 <a href="#abnf.dependencies" class="smpl">Host</a> = <Host, defined in <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 698 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>> 699 <a href="#abnf.dependencies" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 700 <a href="#abnf.dependencies" class="smpl">product</a> = <product, defined in <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.4</a>> 701 <a href="#abnf.dependencies" class="smpl">TE</a> = <TE, defined in <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a>> 702 </pre><div id="rfc.figure.u.3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Accept</a> = <Accept, defined in <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 5.1</a>> 706 703 <a href="#abnf.dependencies" class="smpl">Accept-Charset</a> = 707 704 <Accept-Charset, defined in <a href="#Part3" id="rfc.xref.Part3.2"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-charset" title="Accept-Charset">Section 5.2</a>> … … 710 707 <a href="#abnf.dependencies" class="smpl">Accept-Language</a> = 711 708 <Accept-Language, defined in <a href="#Part3" id="rfc.xref.Part3.4"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-language" title="Accept-Language">Section 5.4</a>> 712 </pre><div id="rfc.figure.u. 5"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">ETag</a> = <ETag, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 6.1</a>>709 </pre><div id="rfc.figure.u.4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">ETag</a> = <ETag, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.etag" title="ETag">Section 6.1</a>> 713 710 <a href="#abnf.dependencies" class="smpl">If-Match</a> = <If-Match, defined in <a href="#Part4" id="rfc.xref.Part4.2"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-match" title="If-Match">Section 6.2</a>> 714 711 <a href="#abnf.dependencies" class="smpl">If-Modified-Since</a> = … … 717 714 <a href="#abnf.dependencies" class="smpl">If-Unmodified-Since</a> = 718 715 <If-Unmodified-Since, defined in <a href="#Part4" id="rfc.xref.Part4.5"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-unmodified-since" title="If-Unmodified-Since">Section 6.5</a>> 719 </pre><div id="rfc.figure.u. 6"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Accept-Ranges</a> = <Accept-Ranges, defined in <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 5.1</a>>716 </pre><div id="rfc.figure.u.5"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Accept-Ranges</a> = <Accept-Ranges, defined in <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 5.1</a>> 720 717 <a href="#abnf.dependencies" class="smpl">If-Range</a> = <If-Range, defined in <a href="#Part5" id="rfc.xref.Part5.2"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.if-range" title="If-Range">Section 5.3</a>> 721 718 <a href="#abnf.dependencies" class="smpl">Range</a> = <Range, defined in <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.range" title="Range">Section 5.4</a>> 722 </pre><div id="rfc.figure.u. 7"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Age</a> = <Age, defined in <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 15.1</a>>719 </pre><div id="rfc.figure.u.6"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Age</a> = <Age, defined in <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 15.1</a>> 723 720 <a href="#abnf.dependencies" class="smpl">Vary</a> = <Vary, defined in <a href="#Part6" id="rfc.xref.Part6.2"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.vary" title="Vary">Section 15.5</a>> 724 </pre><div id="rfc.figure.u. 8"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Authorization</a> = <Authorization, defined in <a href="#Part7" id="rfc.xref.Part7.1"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.authorization" title="Authorization">Section 3.1</a>>721 </pre><div id="rfc.figure.u.7"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Authorization</a> = <Authorization, defined in <a href="#Part7" id="rfc.xref.Part7.1"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.authorization" title="Authorization">Section 3.1</a>> 725 722 <a href="#abnf.dependencies" class="smpl">Proxy-Authenticate</a> = 726 723 <Proxy-Authenticate, defined in <a href="#Part7" id="rfc.xref.Part7.2"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, <a href="p7-auth.html#header.proxy-authenticate" title="Proxy-Authenticate">Section 3.2</a>> … … 731 728 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="method" href="#method">Method</a></h1> 732 729 <p id="rfc.section.2.p.1">The Method token indicates the method to be performed on the resource identified by the request-target. The method is case-sensitive.</p> 733 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span> <a href="#method" class="smpl">Method</a> = %x4F.50.54.49.4F.4E.53 ; "OPTIONS", <a href="#OPTIONS" id="rfc.xref.OPTIONS.1" title="OPTIONS">Section 7.2</a>730 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span> <a href="#method" class="smpl">Method</a> = %x4F.50.54.49.4F.4E.53 ; "OPTIONS", <a href="#OPTIONS" id="rfc.xref.OPTIONS.1" title="OPTIONS">Section 7.2</a> 734 731 / %x47.45.54 ; "GET", <a href="#GET" id="rfc.xref.GET.1" title="GET">Section 7.3</a> 735 732 / %x48.45.41.44 ; "HEAD", <a href="#HEAD" id="rfc.xref.HEAD.1" title="HEAD">Section 7.4</a> … … 767 764 method invocation. 768 765 </p> 769 <div id="rfc.figure.u. 10"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#request.header.fields" class="smpl">request-header</a> = <a href="#abnf.dependencies" class="smpl">Accept</a> ; <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 5.1</a>766 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#request.header.fields" class="smpl">request-header</a> = <a href="#abnf.dependencies" class="smpl">Accept</a> ; <a href="#Part3" id="rfc.xref.Part3.5"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept" title="Accept">Section 5.1</a> 770 767 / <a href="#abnf.dependencies" class="smpl">Accept-Charset</a> ; <a href="#Part3" id="rfc.xref.Part3.6"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-charset" title="Accept-Charset">Section 5.2</a> 771 768 / <a href="#abnf.dependencies" class="smpl">Accept-Encoding</a> ; <a href="#Part3" id="rfc.xref.Part3.7"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>, <a href="p3-payload.html#header.accept-encoding" title="Accept-Encoding">Section 5.3</a> … … 774 771 / <a href="#header.expect" class="smpl">Expect</a> ; <a href="#header.expect" id="rfc.xref.header.expect.1" title="Expect">Section 9.2</a> 775 772 / <a href="#header.from" class="smpl">From</a> ; <a href="#header.from" id="rfc.xref.header.from.1" title="From">Section 9.3</a> 776 / <a href="#abnf.dependencies" class="smpl">Host</a> ; <a href="#Part1" id="rfc.xref.Part1. 22"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.host" title="Host">Section 8.4</a>773 / <a href="#abnf.dependencies" class="smpl">Host</a> ; <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.host" title="Host">Section 8.4</a> 777 774 / <a href="#abnf.dependencies" class="smpl">If-Match</a> ; <a href="#Part4" id="rfc.xref.Part4.6"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-match" title="If-Match">Section 6.2</a> 778 775 / <a href="#abnf.dependencies" class="smpl">If-Modified-Since</a> ; <a href="#Part4" id="rfc.xref.Part4.7"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.if-modified-since" title="If-Modified-Since">Section 6.3</a> … … 784 781 / <a href="#abnf.dependencies" class="smpl">Range</a> ; <a href="#Part5" id="rfc.xref.Part5.5"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.range" title="Range">Section 5.4</a> 785 782 / <a href="#header.referer" class="smpl">Referer</a> ; <a href="#header.referer" id="rfc.xref.header.referer.1" title="Referer">Section 9.6</a> 786 / <a href="#abnf.dependencies" class="smpl">TE</a> ; <a href="#Part1" id="rfc.xref.Part1. 23"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a>783 / <a href="#abnf.dependencies" class="smpl">TE</a> ; <a href="#Part1" id="rfc.xref.Part1.18"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.upgrade" title="Upgrade">Section 8.8</a> 787 784 / <a href="#header.user-agent" class="smpl">User-Agent</a> ; <a href="#header.user-agent" id="rfc.xref.header.user-agent.1" title="User-Agent">Section 9.9</a> 788 785 </pre><p id="rfc.section.3.p.3">Request-header field names can be extended reliably only in combination with a change in the protocol version. However, new … … 798 795 are presented below. The reason phrases listed here are only recommendations -- they <em class="bcp14">MAY</em> be replaced by local equivalents without affecting the protocol. 799 796 </p> 800 <div id="rfc.figure.u.1 1"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> =797 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#status.code.and.reason.phrase" class="smpl">Status-Code</a> = 801 798 "100" ; <a href="#status.100" id="rfc.xref.status.100.1" title="100 Continue">Section 8.1.1</a>: Continue 802 799 / "101" ; <a href="#status.101" id="rfc.xref.status.101.1" title="101 Switching Protocols">Section 8.1.2</a>: Switching Protocols … … 841 838 / <a href="#request.header.fields" class="smpl">extension-code</a> 842 839 843 <a href="#request.header.fields" class="smpl">extension-code</a> = 3<a href="# core.rules" class="smpl">DIGIT</a>844 <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> = *( <a href="# core.rules" class="smpl">WSP</a> / <a href="#core.rules" class="smpl">VCHAR</a> / <a href="#core.rules" class="smpl">obs-text</a> )840 <a href="#request.header.fields" class="smpl">extension-code</a> = 3<a href="#notation" class="smpl">DIGIT</a> 841 <a href="#status.code.and.reason.phrase" class="smpl">Reason-Phrase</a> = *( <a href="#notation" class="smpl">WSP</a> / <a href="#notation" class="smpl">VCHAR</a> / <a href="#core.rules" class="smpl">obs-text</a> ) 845 842 </pre><p id="rfc.section.4.p.4">HTTP status codes are extensible. HTTP applications are not required to understand the meaning of all registered status codes, 846 843 though such understanding is obviously desirable. However, applications <em class="bcp14">MUST</em> understand the class of any status code, as indicated by the first digit, and treat any unrecognized response as being equivalent … … 861 858 the request-target. 862 859 </p> 863 <div id="rfc.figure.u.1 2"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#response.header.fields" class="smpl">response-header</a> = <a href="#abnf.dependencies" class="smpl">Accept-Ranges</a> ; <a href="#Part5" id="rfc.xref.Part5.6"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 5.1</a>860 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#response.header.fields" class="smpl">response-header</a> = <a href="#abnf.dependencies" class="smpl">Accept-Ranges</a> ; <a href="#Part5" id="rfc.xref.Part5.6"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.accept-ranges" title="Accept-Ranges">Section 5.1</a> 864 861 / <a href="#abnf.dependencies" class="smpl">Age</a> ; <a href="#Part6" id="rfc.xref.Part6.3"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.age" title="Age">Section 15.1</a> 865 862 / <a href="#header.allow" class="smpl">Allow</a> ; <a href="#header.allow" id="rfc.xref.header.allow.2" title="Allow">Section 9.1</a> … … 880 877 fields are defined in <a href="#Part3" id="rfc.xref.Part3.9"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>. 881 878 </p> 882 <p id="rfc.section.6.p.2">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1. 24"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure879 <p id="rfc.section.6.p.2">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.19"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure 883 880 safe and proper transfer of the message. 884 881 </p> … … 1045 1042 </p> 1046 1043 <p id="rfc.section.7.8.p.2">TRACE allows the client to see what is being received at the other end of the request chain and use that data for testing 1047 or diagnostic information. The value of the Via header field (<a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.2 5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) is of particular interest, since it acts as a trace of the request chain. Use of the Max-Forwards header field allows the1044 or diagnostic information. The value of the Via header field (<a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.20"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) is of particular interest, since it acts as a trace of the request chain. Use of the Max-Forwards header field allows the 1048 1045 client to limit the length of the request chain, which is useful for testing a chain of proxies forwarding messages in an 1049 1046 infinite loop. 1050 1047 </p> 1051 <p id="rfc.section.7.8.p.3">If the request is valid, the response <em class="bcp14">SHOULD</em> contain the entire request message in the entity-body, with a Content-Type of "message/http" (see <a href="p1-messaging.html#internet.media.type.message.http" title="Internet Media Type message/http">Section 9.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.2 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). Responses to this method <em class="bcp14">MUST NOT</em> be cached.1048 <p id="rfc.section.7.8.p.3">If the request is valid, the response <em class="bcp14">SHOULD</em> contain the entire request message in the entity-body, with a Content-Type of "message/http" (see <a href="p1-messaging.html#internet.media.type.message.http" title="Internet Media Type message/http">Section 9.3.1</a> of <a href="#Part1" id="rfc.xref.Part1.21"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). Responses to this method <em class="bcp14">MUST NOT</em> be cached. 1052 1049 </p> 1053 1050 <div id="rfc.iref.c.1"></div> … … 1078 1075 <p id="rfc.section.8.1.1.p.1">The client <em class="bcp14">SHOULD</em> continue with its request. This interim response is used to inform the client that the initial part of the request has been 1079 1076 received and has not yet been rejected by the server. The client <em class="bcp14">SHOULD</em> continue by sending the remainder of the request or, if the request has already been completed, ignore this response. The 1080 server <em class="bcp14">MUST</em> send a final response after the request has been completed. See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.2 7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for detailed discussion of the use and handling of this status code.1077 server <em class="bcp14">MUST</em> send a final response after the request has been completed. See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.22"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for detailed discussion of the use and handling of this status code. 1081 1078 </p> 1082 1079 <div id="rfc.iref.26"></div> … … 1461 1458 <p id="rfc.section.8.5.6.p.1">The server does not support, or refuses to support, the protocol version that was used in the request message. The server 1462 1459 is indicating that it is unable or unwilling to complete the request using the same major version as the client, as described 1463 in <a href="p1-messaging.html#http.version" title="HTTP Version">Section 3.1</a> of <a href="#Part1" id="rfc.xref.Part1.2 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, other than with this error message. The response <em class="bcp14">SHOULD</em> contain an entity describing why that version is not supported and what other protocols are supported by that server.1460 in <a href="p1-messaging.html#http.version" title="HTTP Version">Section 3.1</a> of <a href="#Part1" id="rfc.xref.Part1.23"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, other than with this error message. The response <em class="bcp14">SHOULD</em> contain an entity describing why that version is not supported and what other protocols are supported by that server. 1464 1461 </p> 1465 1462 <h1 id="rfc.section.9"><a href="#rfc.section.9">9.</a> <a id="header.fields" href="#header.fields">Header Field Definitions</a></h1> … … 1475 1472 field <em class="bcp14">MUST</em> be present in a 405 (Method Not Allowed) response. 1476 1473 </p> 1477 <div id="rfc.figure.u.1 3"></div><pre class="inline"><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span> <a href="#header.allow" class="smpl">Allow</a> = "Allow" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.allow" class="smpl">Allow-v</a>1474 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span> <a href="#header.allow" class="smpl">Allow</a> = "Allow" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.allow" class="smpl">Allow-v</a> 1478 1475 <a href="#header.allow" class="smpl">Allow-v</a> = #<a href="#method" class="smpl">Method</a> 1479 1476 </pre><p id="rfc.section.9.1.p.3">Example of use:</p> 1480 <div id="rfc.figure.u.1 4"></div><pre class="text"> Allow: GET, HEAD, PUT1477 <div id="rfc.figure.u.13"></div><pre class="text"> Allow: GET, HEAD, PUT 1481 1478 </pre><p id="rfc.section.9.1.p.5">The actual set of allowed methods is defined by the origin server at the time of each request.</p> 1482 1479 <p id="rfc.section.9.1.p.6">A proxy <em class="bcp14">MUST NOT</em> modify the Allow header field even if it does not understand all the methods specified, since the user agent might have other … … 1487 1484 <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a id="header.expect" href="#header.expect">Expect</a></h2> 1488 1485 <p id="rfc.section.9.2.p.1">The request-header field "Expect" is used to indicate that particular server behaviors are required by the client.</p> 1489 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#header.expect" class="smpl">Expect</a> = "Expect" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.expect" class="smpl">Expect-v</a>1486 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#header.expect" class="smpl">Expect</a> = "Expect" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.expect" class="smpl">Expect-v</a> 1490 1487 <a href="#header.expect" class="smpl">Expect-v</a> = 1#<a href="#header.expect" class="smpl">expectation</a> 1491 1488 … … 1507 1504 </p> 1508 1505 <p id="rfc.section.9.2.p.7">Many older HTTP/1.0 and HTTP/1.1 applications do not understand the Expect header.</p> 1509 <p id="rfc.section.9.2.p.8">See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.2 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for the use of the 100 (Continue) status.1506 <p id="rfc.section.9.2.p.8">See <a href="p1-messaging.html#use.of.the.100.status" title="Use of the 100 (Continue) Status">Section 7.2.3</a> of <a href="#Part1" id="rfc.xref.Part1.24"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> for the use of the 100 (Continue) status. 1510 1507 </p> 1511 1508 <div id="rfc.iref.f.1"></div> … … 1514 1511 <p id="rfc.section.9.3.p.1">The request-header field "From", if given, <em class="bcp14">SHOULD</em> contain an Internet e-mail address for the human user who controls the requesting user agent. The address <em class="bcp14">SHOULD</em> be machine-usable, as defined by "mailbox" in <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a> of <a href="#RFC5322" id="rfc.xref.RFC5322.1"><cite title="Internet Message Format">[RFC5322]</cite></a>: 1515 1512 </p> 1516 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> <a href="#header.from" class="smpl">From</a> = "From" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.from" class="smpl">From-v</a>1513 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> <a href="#header.from" class="smpl">From</a> = "From" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.from" class="smpl">From-v</a> 1517 1514 <a href="#header.from" class="smpl">From-v</a> = <a href="#header.from" class="smpl">mailbox</a> 1518 1515 1519 1516 <a href="#header.from" class="smpl">mailbox</a> = <mailbox, defined in <a href="#RFC5322" id="rfc.xref.RFC5322.2"><cite title="Internet Message Format">[RFC5322]</cite></a>, <a href="http://tools.ietf.org/html/rfc5322#section-3.4">Section 3.4</a>> 1520 1517 </pre><p id="rfc.section.9.3.p.3">An example is:</p> 1521 <div id="rfc.figure.u.1 7"></div><pre class="text"> From: webmaster@example.org1518 <div id="rfc.figure.u.16"></div><pre class="text"> From: webmaster@example.org 1522 1519 </pre><p id="rfc.section.9.3.p.5">This header field <em class="bcp14">MAY</em> be used for logging purposes and as a means for identifying the source of invalid or unwanted requests. It <em class="bcp14">SHOULD NOT</em> be used as an insecure form of access protection. The interpretation of this field is that the request is being performed 1523 1520 on behalf of the person given, who accepts responsibility for the method performed. In particular, robot agents <em class="bcp14">SHOULD</em> include this header so that the person responsible for running the robot can be contacted if problems occur on the receiving … … 1539 1536 URI. 1540 1537 </p> 1541 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span> <a href="#header.location" class="smpl">Location</a> = "Location" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.location" class="smpl">Location-v</a>1538 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span> <a href="#header.location" class="smpl">Location</a> = "Location" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.location" class="smpl">Location-v</a> 1542 1539 <a href="#header.location" class="smpl">Location-v</a> = <a href="#abnf.dependencies" class="smpl">absolute-URI</a> [ "#" <a href="#abnf.dependencies" class="smpl">fragment</a> ] 1543 1540 </pre><p id="rfc.section.9.4.p.3">An example is:</p> 1544 <div id="rfc.figure.u.1 9"></div><pre class="text"> Location: http://www.example.org/pub/WWW/People.html1541 <div id="rfc.figure.u.18"></div><pre class="text"> Location: http://www.example.org/pub/WWW/People.html 1545 1542 </pre><p id="rfc.section.9.4.p.5"> </p> 1546 1543 <dl class="empty"> … … 1563 1560 useful when the client is attempting to trace a request chain which appears to be failing or looping in mid-chain. 1564 1561 </p> 1565 <div id="rfc.figure.u. 20"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span> <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = "Max-Forwards" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.max-forwards" class="smpl">Max-Forwards-v</a>1566 <a href="#header.max-forwards" class="smpl">Max-Forwards-v</a> = 1*<a href="# core.rules" class="smpl">DIGIT</a>1562 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span> <a href="#header.max-forwards" class="smpl">Max-Forwards</a> = "Max-Forwards" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.max-forwards" class="smpl">Max-Forwards-v</a> 1563 <a href="#header.max-forwards" class="smpl">Max-Forwards-v</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 1567 1564 </pre><p id="rfc.section.9.5.p.3">The Max-Forwards value is a decimal integer indicating the remaining number of times this request message may be forwarded.</p> 1568 1565 <p id="rfc.section.9.5.p.4">Each proxy or gateway recipient of a TRACE or OPTIONS request containing a Max-Forwards header field <em class="bcp14">MUST</em> check and update its value prior to forwarding the request. If the received value is zero (0), the recipient <em class="bcp14">MUST NOT</em> forward the request; instead, it <em class="bcp14">MUST</em> respond as the final recipient. If the received Max-Forwards value is greater than zero, then the forwarded message <em class="bcp14">MUST</em> contain an updated Max-Forwards field with a value decremented by one (1). … … 1579 1576 It also allows obsolete or mistyped links to be traced for maintenance. The Referer field <em class="bcp14">MUST NOT</em> be sent if the request-target was obtained from a source that does not have its own URI, such as input from the user keyboard. 1580 1577 </p> 1581 <div id="rfc.figure.u.2 1"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#header.referer" class="smpl">Referer</a> = "Referer" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.referer" class="smpl">Referer-v</a>1578 <div id="rfc.figure.u.20"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#header.referer" class="smpl">Referer</a> = "Referer" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.referer" class="smpl">Referer-v</a> 1582 1579 <a href="#header.referer" class="smpl">Referer-v</a> = <a href="#abnf.dependencies" class="smpl">absolute-URI</a> / <a href="#abnf.dependencies" class="smpl">partial-URI</a> 1583 1580 </pre><p id="rfc.section.9.6.p.3">Example:</p> 1584 <div id="rfc.figure.u.2 2"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html1581 <div id="rfc.figure.u.21"></div><pre class="text"> Referer: http://www.example.org/hypertext/Overview.html 1585 1582 </pre><p id="rfc.section.9.6.p.5">If the field value is a relative URI, it <em class="bcp14">SHOULD</em> be interpreted relative to the request-target. The URI <em class="bcp14">MUST NOT</em> include a fragment. See <a href="#encoding.sensitive.information.in.uris" title="Encoding Sensitive Information in URIs">Section 11.2</a> for security considerations. 1586 1583 </p> … … 1593 1590 the time of the response. 1594 1591 </p> 1595 <div id="rfc.figure.u.2 3"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = "Retry-After" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.retry-after" class="smpl">Retry-After-v</a>1592 <div id="rfc.figure.u.22"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span> <a href="#header.retry-after" class="smpl">Retry-After</a> = "Retry-After" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.retry-after" class="smpl">Retry-After-v</a> 1596 1593 <a href="#header.retry-after" class="smpl">Retry-After-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> / <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> 1597 1594 </pre><div id="rule.delta-seconds"> 1598 1595 <p id="rfc.section.9.7.p.3"> Time spans are non-negative decimal integers, representing time in seconds.</p> 1599 1596 </div> 1600 <div id="rfc.figure.u.2 4"></div><pre class="inline"><span id="rfc.iref.g.26"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>1597 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.26"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 1601 1598 </pre><p id="rfc.section.9.7.p.5">Two examples of its use are</p> 1602 <div id="rfc.figure.u.2 5"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT1599 <div id="rfc.figure.u.24"></div><pre class="text"> Retry-After: Fri, 31 Dec 1999 23:59:59 GMT 1603 1600 Retry-After: 120 1604 1601 </pre><p id="rfc.section.9.7.p.7">In the latter example, the delay is 2 minutes.</p> … … 1607 1604 <h2 id="rfc.section.9.8"><a href="#rfc.section.9.8">9.8</a> <a id="header.server" href="#header.server">Server</a></h2> 1608 1605 <p id="rfc.section.9.8.p.1">The response-header field "Server" contains information about the software used by the origin server to handle the request. 1609 The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.4</a> of <a href="#Part1" id="rfc.xref.Part1. 30"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the server and any significant subproducts. The product tokens are listed in order of their significance1606 The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.4</a> of <a href="#Part1" id="rfc.xref.Part1.25"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the server and any significant subproducts. The product tokens are listed in order of their significance 1610 1607 for identifying the application. 1611 1608 </p> 1612 <div id="rfc.figure.u.2 6"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span> <a href="#header.server" class="smpl">Server</a> = "Server" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.server" class="smpl">Server-v</a>1609 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span> <a href="#header.server" class="smpl">Server</a> = "Server" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.server" class="smpl">Server-v</a> 1613 1610 <a href="#header.server" class="smpl">Server-v</a> = <a href="#abnf.dependencies" class="smpl">product</a> 1614 1611 *( <a href="#core.rules" class="smpl">RWS</a> ( <a href="#abnf.dependencies" class="smpl">product</a> / <a href="#core.rules" class="smpl">comment</a> ) ) 1615 1612 </pre><p id="rfc.section.9.8.p.3">Example:</p> 1616 <div id="rfc.figure.u.2 7"></div><pre class="text"> Server: CERN/3.0 libwww/2.171617 </pre><p id="rfc.section.9.8.p.5">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the Server response-header. Instead, it <em class="bcp14">MUST</em> include a Via field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1. 31"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).1613 <div id="rfc.figure.u.26"></div><pre class="text"> Server: CERN/3.0 libwww/2.17 1614 </pre><p id="rfc.section.9.8.p.5">If the response is being forwarded through a proxy, the proxy application <em class="bcp14">MUST NOT</em> modify the Server response-header. Instead, it <em class="bcp14">MUST</em> include a Via field (as described in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.26"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1618 1615 </p> 1619 1616 <dl class="empty"> … … 1628 1625 <p id="rfc.section.9.9.p.1">The request-header field "User-Agent" contains information about the user agent originating the request. This is for statistical 1629 1626 purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses 1630 to avoid particular user agent limitations. User agents <em class="bcp14">SHOULD</em> include this field with requests. The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.4</a> of <a href="#Part1" id="rfc.xref.Part1. 32"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the1627 to avoid particular user agent limitations. User agents <em class="bcp14">SHOULD</em> include this field with requests. The field can contain multiple product tokens (<a href="p1-messaging.html#product.tokens" title="Product Tokens">Section 3.4</a> of <a href="#Part1" id="rfc.xref.Part1.27"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the 1631 1628 product tokens are listed in order of their significance for identifying the application. 1632 1629 </p> 1633 <div id="rfc.figure.u.2 8"></div><pre class="inline"><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = "User-Agent" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.user-agent" class="smpl">User-Agent-v</a>1630 <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.29"></span><span id="rfc.iref.g.30"></span> <a href="#header.user-agent" class="smpl">User-Agent</a> = "User-Agent" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.user-agent" class="smpl">User-Agent-v</a> 1634 1631 <a href="#header.user-agent" class="smpl">User-Agent-v</a> = <a href="#abnf.dependencies" class="smpl">product</a> 1635 1632 *( <a href="#core.rules" class="smpl">RWS</a> ( <a href="#abnf.dependencies" class="smpl">product</a> / <a href="#core.rules" class="smpl">comment</a> ) ) 1636 1633 </pre><p id="rfc.section.9.9.p.3">Example:</p> 1637 <div id="rfc.figure.u.2 9"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b31634 <div id="rfc.figure.u.28"></div><pre class="text"> User-Agent: CERN-LineMode/2.15 libwww/2.17b3 1638 1635 </pre><h1 id="rfc.section.10"><a href="#rfc.section.10">10.</a> <a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1> 1639 1636 <h2 id="rfc.section.10.1"><a href="#rfc.section.10.1">10.1</a> <a id="method.registration" href="#method.registration">Method Registry</a></h2> … … 2103 2100 <h2 id="rfc.references.1"><a href="#rfc.section.13.1" id="rfc.section.13.1">13.1</a> Normative References 2104 2101 </h2> 2105 <table summary="Normative References"> 2102 <table summary="Normative References"> 2106 2103 <tr> 2107 2104 <td class="reference"><b id="Part1">[Part1]</b></td> … … 2137 2134 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 2138 2135 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 2136 </td> 2137 </tr> 2138 <tr> 2139 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 2140 <td class="top"><a title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 2139 2141 </td> 2140 2142 </tr> … … 2242 2244 </p> 2243 2245 <p id="rfc.section.A.2.p.7">In the description of the Server header, the Via field was described as a SHOULD. The requirement was and is stated correctly 2244 in the description of the Via header in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1. 33"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section 9.8</a>)2246 in the description of the Via header in <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a> of <a href="#Part1" id="rfc.xref.Part1.28"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. (<a href="#header.server" id="rfc.xref.header.server.4" title="Server">Section 9.8</a>) 2245 2247 </p> 2246 2248 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 2247 <div id="rfc.figure.u. 30"></div> <pre class="inline">Accept = <Accept, defined in [Part3], Section 5.1>2249 <div id="rfc.figure.u.29"></div> <pre class="inline">Accept = <Accept, defined in [Part3], Section 5.1> 2248 2250 Accept-Charset = <Accept-Charset, defined in [Part3], Section 5.2> 2249 2251 Accept-Encoding = <Accept-Encoding, defined in [Part3], Section 5.3> … … 2254 2256 Allow-v = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ] 2255 2257 Authorization = <Authorization, defined in [Part7], Section 3.1> 2256 CR = <CR, defined in [Part1], Section 1.2.2>2257 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>2258 2258 ETag = <ETag, defined in [Part4], Section 6.1> 2259 2259 Expect = "Expect:" OWS Expect-v … … 2270 2270 If-Unmodified-Since = <If-Unmodified-Since, defined in [Part4], 2271 2271 Section 6.5> 2272 LF = <LF, defined in [Part1], Section 1.2.2>2273 2272 Location = "Location:" OWS Location-v 2274 2273 Location-v = absolute-URI [ "#" fragment ] … … 2301 2300 User-Agent = "User-Agent:" OWS User-Agent-v 2302 2301 User-Agent-v = product *( RWS ( product / comment ) ) 2303 VCHAR = <VCHAR, defined in [Part1], Section 1.2.2>2304 2302 Vary = <Vary, defined in [Part6], Section 15.5> 2305 WSP = <WSP, defined in [Part1], Section 1.2.2>2306 2303 WWW-Authenticate = <WWW-Authenticate, defined in [Part7], Section 2307 2304 3.4> … … 2329 2326 Proxy-Authenticate / Retry-After / Server / Vary / WWW-Authenticate 2330 2327 token = <token, defined in [Part1], Section 1.2.2> 2331 ; CR defined but not used2332 ; LF defined but not used2333 2328 ; Reason-Phrase defined but not used 2334 2329 ; Status-Code defined but not used … … 2643 2638 </li> 2644 2639 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 2645 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.10">1.2. 1</a>, <a class="iref" href="#rfc.xref.Part1.11">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.12">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.13">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.14">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.15">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.16">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.17">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.18">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.19">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.20">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.21">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.22">3</a>, <a class="iref" href="#rfc.xref.Part1.23">3</a>, <a class="iref" href="#rfc.xref.Part1.24">6</a>, <a class="iref" href="#rfc.xref.Part1.25">7.8</a>, <a class="iref" href="#rfc.xref.Part1.26">7.8</a>, <a class="iref" href="#rfc.xref.Part1.27">8.1.1</a>, <a class="iref" href="#rfc.xref.Part1.28">8.5.6</a>, <a class="iref" href="#rfc.xref.Part1.29">9.2</a>, <a class="iref" href="#rfc.xref.Part1.30">9.8</a>, <a class="iref" href="#rfc.xref.Part1.31">9.8</a>, <a class="iref" href="#rfc.xref.Part1.32">9.9</a>, <a class="iref" href="#Part1"><b>13.1</b></a>, <a class="iref" href="#rfc.xref.Part1.33">A.2</a><ul class="ind">2640 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.10">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.11">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.12">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.13">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.14">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.15">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.16">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.17">3</a>, <a class="iref" href="#rfc.xref.Part1.18">3</a>, <a class="iref" href="#rfc.xref.Part1.19">6</a>, <a class="iref" href="#rfc.xref.Part1.20">7.8</a>, <a class="iref" href="#rfc.xref.Part1.21">7.8</a>, <a class="iref" href="#rfc.xref.Part1.22">8.1.1</a>, <a class="iref" href="#rfc.xref.Part1.23">8.5.6</a>, <a class="iref" href="#rfc.xref.Part1.24">9.2</a>, <a class="iref" href="#rfc.xref.Part1.25">9.8</a>, <a class="iref" href="#rfc.xref.Part1.26">9.8</a>, <a class="iref" href="#rfc.xref.Part1.27">9.9</a>, <a class="iref" href="#Part1"><b>13.1</b></a>, <a class="iref" href="#rfc.xref.Part1.28">A.2</a><ul class="ind"> 2646 2641 <li class="indline1"><em>Section 1.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.2</a></li> 2647 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.1</a> , <a class="iref" href="#rfc.xref.Part1.10">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.11">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.12">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.13">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.14">1.2.1</a></li>2648 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.1 5">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.16">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.17">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.19">1.2.2</a></li>2649 <li class="indline1"><em>Section 3.1</em> <a class="iref" href="#rfc.xref.Part1.2 8">8.5.6</a></li>2650 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.1 8">1.2.2</a></li>2651 <li class="indline1"><em>Section 3.4</em> <a class="iref" href="#rfc.xref.Part1. 20">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.30">9.8</a>, <a class="iref" href="#rfc.xref.Part1.32">9.9</a></li>2652 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1. 24">6</a></li>2653 <li class="indline1"><em>Section 7.2.3</em> <a class="iref" href="#rfc.xref.Part1.2 7">8.1.1</a>, <a class="iref" href="#rfc.xref.Part1.29">9.2</a></li>2654 <li class="indline1"><em>Section 8.4</em> <a class="iref" href="#rfc.xref.Part1. 22">3</a></li>2655 <li class="indline1"><em>Section 8.8</em> <a class="iref" href="#rfc.xref.Part1. 21">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.23">3</a></li>2656 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.2 5">7.8</a>, <a class="iref" href="#rfc.xref.Part1.31">9.8</a>, <a class="iref" href="#rfc.xref.Part1.33">A.2</a></li>2657 <li class="indline1"><em>Section 9.3.1</em> <a class="iref" href="#rfc.xref.Part1.2 6">7.8</a></li>2642 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.1</a></li> 2643 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.10">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.11">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.12">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.14">1.2.2</a></li> 2644 <li class="indline1"><em>Section 3.1</em> <a class="iref" href="#rfc.xref.Part1.23">8.5.6</a></li> 2645 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.13">1.2.2</a></li> 2646 <li class="indline1"><em>Section 3.4</em> <a class="iref" href="#rfc.xref.Part1.15">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.25">9.8</a>, <a class="iref" href="#rfc.xref.Part1.27">9.9</a></li> 2647 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1.19">6</a></li> 2648 <li class="indline1"><em>Section 7.2.3</em> <a class="iref" href="#rfc.xref.Part1.22">8.1.1</a>, <a class="iref" href="#rfc.xref.Part1.24">9.2</a></li> 2649 <li class="indline1"><em>Section 8.4</em> <a class="iref" href="#rfc.xref.Part1.17">3</a></li> 2650 <li class="indline1"><em>Section 8.8</em> <a class="iref" href="#rfc.xref.Part1.16">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.18">3</a></li> 2651 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.20">7.8</a>, <a class="iref" href="#rfc.xref.Part1.26">9.8</a>, <a class="iref" href="#rfc.xref.Part1.28">A.2</a></li> 2652 <li class="indline1"><em>Section 9.3.1</em> <a class="iref" href="#rfc.xref.Part1.21">7.8</a></li> 2658 2653 </ul> 2659 2654 </li> … … 2715 2710 <li class="indline1"><em>RFC5226</em> <a class="iref" href="#rfc.xref.RFC5226.1">2.1</a>, <a class="iref" href="#rfc.xref.RFC5226.2">4.1</a>, <a class="iref" href="#RFC5226"><b>13.2</b></a><ul class="ind"> 2716 2711 <li class="indline1"><em>Section 4.1</em> <a class="iref" href="#rfc.xref.RFC5226.1">2.1</a>, <a class="iref" href="#rfc.xref.RFC5226.2">4.1</a></li> 2712 </ul> 2713 </li> 2714 <li class="indline1"><em>RFC5234</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a>, <a class="iref" href="#RFC5234"><b>13.1</b></a><ul class="ind"> 2715 <li class="indline1"><em>Appendix B.1</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a></li> 2717 2716 </ul> 2718 2717 </li> -
draft-ietf-httpbis/latest/p2-semantics.xml
r424 r425 289 289 290 290 <section title="Syntax Notation" anchor="notation"> 291 <t>292 This specification uses the ABNF syntax defined in ¬ation;.293 </t>294 295 <section title="Core Rules" anchor="core.rules">296 <x:anchor-alias value="comment"/>297 291 <x:anchor-alias value="CR"/> 298 292 <x:anchor-alias value="DIGIT"/> 299 293 <x:anchor-alias value="LF"/> 294 <x:anchor-alias value="VCHAR"/> 295 <x:anchor-alias value="WSP"/> 296 <t> 297 This specification uses the ABNF syntax defined in ¬ation;. 298 The following core rules are included by 299 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 300 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 301 DIGIT (decimal 0-9), DQUOTE (double quote), 302 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 303 OCTET (any 8-bit sequence of data), SP (space), 304 VCHAR (any visible USASCII character), 305 and WSP (whitespace). 306 </t> 307 308 <section title="Core Rules" anchor="core.rules"> 309 <x:anchor-alias value="comment"/> 300 310 <x:anchor-alias value="obs-text"/> 301 311 <x:anchor-alias value="quoted-string"/> … … 303 313 <x:anchor-alias value="OWS"/> 304 314 <x:anchor-alias value="RWS"/> 305 <x:anchor-alias value="VCHAR"/>306 <x:anchor-alias value="WSP"/>307 315 <t> 308 316 The core rules below are defined in &basic-rules;: 309 317 </t> 310 <figure><artwork type="abnf2616">311 <x:ref>CR</x:ref> = <CR, defined in &basic-rules;>312 <x:ref>DIGIT</x:ref> = <DIGIT, defined in &basic-rules;>313 <x:ref>LF</x:ref> = <LF, defined in &basic-rules;>314 <x:ref>VCHAR</x:ref> = <VCHAR, defined in &basic-rules;>315 <x:ref>WSP</x:ref> = <WSP, defined in &basic-rules;>316 </artwork></figure>317 318 <figure><artwork type="abnf2616"> 318 319 <x:ref>comment</x:ref> = <comment, defined in &basic-rules;> … … 2914 2915 </reference> 2915 2916 2917 <reference anchor="RFC5234"> 2918 <front> 2919 <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title> 2920 <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor"> 2921 <organization>Brandenburg InternetWorking</organization> 2922 <address> 2923 <postal> 2924 <street>675 Spruce Dr.</street> 2925 <city>Sunnyvale</city> 2926 <region>CA</region> 2927 <code>94086</code> 2928 <country>US</country></postal> 2929 <phone>+1.408.246.8253</phone> 2930 <email>dcrocker@bbiw.net</email></address> 2931 </author> 2932 <author initials="P." surname="Overell" fullname="Paul Overell"> 2933 <organization>THUS plc.</organization> 2934 <address> 2935 <postal> 2936 <street>1/2 Berkeley Square</street> 2937 <street>99 Berkely Street</street> 2938 <city>Glasgow</city> 2939 <code>G3 7HR</code> 2940 <country>UK</country></postal> 2941 <email>paul.overell@thus.net</email></address> 2942 </author> 2943 <date month="January" year="2008"/> 2944 </front> 2945 <seriesInfo name="STD" value="68"/> 2946 <seriesInfo name="RFC" value="5234"/> 2947 </reference> 2948 2916 2949 </references> 2917 2950 … … 3173 3206 <section title="Collected ABNF" anchor="collected.abnf"> 3174 3207 <figure> 3175 <artwork type="abnf" name="p2-semantics.parsed-abnf">Accept = <Accept, defined in [Part3], Section 5.1>
 3176 Accept-Charset = <Accept-Charset, defined in [Part3], Section 5.2>
 3177 Accept-Encoding = <Accept-Encoding, defined in [Part3], Section 5.3>
 3178 Accept-Language = <Accept-Language, defined in [Part3], Section 5.4>
 3179 Accept-Ranges = <Accept-Ranges, defined in [Part5], Section 5.1>
 3180 Age = <Age, defined in [Part6], Section 15.1>
 3181 Allow = "Allow:" OWS Allow-v
 3182 Allow-v = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ]
 3183 Authorization = <Authorization, defined in [Part7], Section 3.1>
 3184 CR = <CR, defined in [Part1], Section 1.2.2>
 3185 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>
 3186 ETag = <ETag, defined in [Part4], Section 6.1>
 3187 Expect = "Expect:" OWS Expect-v
 3188 Expect-v = *( "," OWS ) expectation *( OWS "," [ OWS expectation ] )
 3189 From = "From:" OWS From-v
 3190 From-v = mailbox
 3191 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1>
 3192 Host = <Host, defined in [Part1], Section 2.1>
 3193 If-Match = <If-Match, defined in [Part4], Section 6.2>
 3194 If-Modified-Since = <If-Modified-Since, defined in [Part4], Section
 3195 6.3>
 3196 If-None-Match = <If-None-Match, defined in [Part4], Section 6.4>
 3197 If-Range = <If-Range, defined in [Part5], Section 5.3>
 3198 If-Unmodified-Since = <If-Unmodified-Since, defined in [Part4],
 3199 Section 6.5>
 3200 LF = <LF, defined in [Part1], Section 1.2.2>
 3201 Location = "Location:" OWS Location-v
 3202 Location-v = absolute-URI [ "#" fragment ]
 3203 Max-Forwards = "Max-Forwards:" OWS Max-Forwards-v
 3204 Max-Forwards-v = 1*DIGIT
 3205 Method = %x4F.50.54.49.4F.4E.53 / %x47.45.54 / %x48.45.41.44 /
 3206 %x50.4F.53.54 / %x50.55.54 / %x44.45.4C.45.54.45 / %x54.52.41.43.45
 3207 / %x43.4F.4E.4E.45.43.54 / extension-method
 3208 OWS = <OWS, defined in [Part1], Section 1.2.2>
 3209 Proxy-Authenticate = <Proxy-Authenticate, defined in [Part7], Section
 3210 3.2>
 3211 Proxy-Authorization = <Proxy-Authorization, defined in [Part7],
 3212 Section 3.3>
 3213 RWS = <RWS, defined in [Part1], Section 1.2.2>
 3214 Range = <Range, defined in [Part5], Section 5.4>
 3215 Reason-Phrase = *( WSP / VCHAR / obs-text )
 3216 Referer = "Referer:" OWS Referer-v
 3217 Referer-v = absolute-URI / partial-URI
 3218 Retry-After = "Retry-After:" OWS Retry-After-v
 3219 Retry-After-v = HTTP-date / delta-seconds
 3220 Server = "Server:" OWS Server-v
 3221 Server-v = product *( RWS ( product / comment ) )
 3222 Status-Code = "100" / "101" / "200" / "201" / "202" / "203" / "204" /
 3223 "205" / "206" / "300" / "301" / "302" / "303" / "304" / "305" /
 3224 "307" / "400" / "401" / "402" / "403" / "404" / "405" / "406" /
 3225 "407" / "408" / "409" / "410" / "411" / "412" / "413" / "414" /
 3226 "415" / "416" / "417" / "500" / "501" / "502" / "503" / "504" /
 3227 "505" / extension-code
 3228 TE = <TE, defined in [Part1], Section 8.8>
 3229 User-Agent = "User-Agent:" OWS User-Agent-v
 3230 User-Agent-v = product *( RWS ( product / comment ) )
 3231 VCHAR = <VCHAR, defined in [Part1], Section 1.2.2>
 3232 Vary = <Vary, defined in [Part6], Section 15.5>
 3233 WSP = <WSP, defined in [Part1], Section 1.2.2>
 3234 WWW-Authenticate = <WWW-Authenticate, defined in [Part7], Section
 3235 3.4>
 3236 absolute-URI = <absolute-URI, defined in [Part1], Section 2.1>
 3237 comment = <comment, defined in [Part1], Section 1.2.2>
 3238 delta-seconds = 1*DIGIT
 3239 expect-params = ";" token [ "=" ( token / quoted-string ) ]
 3240 expectation = "100-continue" / expectation-extension
 3241 expectation-extension = token [ "=" ( token / quoted-string )
 3242 *expect-params ]
 3243 extension-code = 3DIGIT
 3244 extension-method = token
 3245 fragment = <fragment, defined in [Part1], Section 2.1>
 3246 mailbox = <mailbox, defined in [RFC5322], Section 3.4>
 3247 obs-text = <obs-text, defined in [Part1], Section 1.2.2>
 3248 partial-URI = <partial-URI, defined in [Part1], Section 2.1>
 3249 product = <product, defined in [Part1], Section 3.4>
 3250 quoted-string = <quoted-string, defined in [Part1], Section 1.2.2>
 3251 request-header = Accept / Accept-Charset / Accept-Encoding /
 3252 Accept-Language / Authorization / Expect / From / Host / If-Match /
 3253 If-Modified-Since / If-None-Match / If-Range / If-Unmodified-Since /
 3254 Max-Forwards / Proxy-Authorization / Range / Referer / TE /
 3255 User-Agent
 3256 response-header = Accept-Ranges / Age / Allow / ETag / Location /
 3257 Proxy-Authenticate / Retry-After / Server / Vary / WWW-Authenticate
 3258 token = <token, defined in [Part1], Section 1.2.2>
 3259 ; CR defined but not used
 3260 ; LF defined but not used
 3261 ; Reason-Phrase defined but not used
 3262 ; Status-Code defined but not used
 3263 ; request-header defined but not used
 3264 ; response-header defined but not used
 3208 <artwork type="abnf" name="p2-semantics.parsed-abnf"> 3209 Accept = <Accept, defined in [Part3], Section 5.1> 3210 Accept-Charset = <Accept-Charset, defined in [Part3], Section 5.2> 3211 Accept-Encoding = <Accept-Encoding, defined in [Part3], Section 5.3> 3212 Accept-Language = <Accept-Language, defined in [Part3], Section 5.4> 3213 Accept-Ranges = <Accept-Ranges, defined in [Part5], Section 5.1> 3214 Age = <Age, defined in [Part6], Section 15.1> 3215 Allow = "Allow:" OWS Allow-v 3216 Allow-v = [ ( "," / Method ) *( OWS "," [ OWS Method ] ) ] 3217 Authorization = <Authorization, defined in [Part7], Section 3.1> 3218 ETag = <ETag, defined in [Part4], Section 6.1> 3219 Expect = "Expect:" OWS Expect-v 3220 Expect-v = *( "," OWS ) expectation *( OWS "," [ OWS expectation ] ) 3221 From = "From:" OWS From-v 3222 From-v = mailbox 3223 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1> 3224 Host = <Host, defined in [Part1], Section 2.1> 3225 If-Match = <If-Match, defined in [Part4], Section 6.2> 3226 If-Modified-Since = <If-Modified-Since, defined in [Part4], Section 3227 6.3> 3228 If-None-Match = <If-None-Match, defined in [Part4], Section 6.4> 3229 If-Range = <If-Range, defined in [Part5], Section 5.3> 3230 If-Unmodified-Since = <If-Unmodified-Since, defined in [Part4], 3231 Section 6.5> 3232 Location = "Location:" OWS Location-v 3233 Location-v = absolute-URI [ "#" fragment ] 3234 Max-Forwards = "Max-Forwards:" OWS Max-Forwards-v 3235 Max-Forwards-v = 1*DIGIT 3236 Method = %x4F.50.54.49.4F.4E.53 / %x47.45.54 / %x48.45.41.44 / 3237 %x50.4F.53.54 / %x50.55.54 / %x44.45.4C.45.54.45 / %x54.52.41.43.45 3238 / %x43.4F.4E.4E.45.43.54 / extension-method 3239 OWS = <OWS, defined in [Part1], Section 1.2.2> 3240 Proxy-Authenticate = <Proxy-Authenticate, defined in [Part7], Section 3241 3.2> 3242 Proxy-Authorization = <Proxy-Authorization, defined in [Part7], 3243 Section 3.3> 3244 RWS = <RWS, defined in [Part1], Section 1.2.2> 3245 Range = <Range, defined in [Part5], Section 5.4> 3246 Reason-Phrase = *( WSP / VCHAR / obs-text ) 3247 Referer = "Referer:" OWS Referer-v 3248 Referer-v = absolute-URI / partial-URI 3249 Retry-After = "Retry-After:" OWS Retry-After-v 3250 Retry-After-v = HTTP-date / delta-seconds 3251 Server = "Server:" OWS Server-v 3252 Server-v = product *( RWS ( product / comment ) ) 3253 Status-Code = "100" / "101" / "200" / "201" / "202" / "203" / "204" / 3254 "205" / "206" / "300" / "301" / "302" / "303" / "304" / "305" / 3255 "307" / "400" / "401" / "402" / "403" / "404" / "405" / "406" / 3256 "407" / "408" / "409" / "410" / "411" / "412" / "413" / "414" / 3257 "415" / "416" / "417" / "500" / "501" / "502" / "503" / "504" / 3258 "505" / extension-code 3259 TE = <TE, defined in [Part1], Section 8.8> 3260 User-Agent = "User-Agent:" OWS User-Agent-v 3261 User-Agent-v = product *( RWS ( product / comment ) ) 3262 Vary = <Vary, defined in [Part6], Section 15.5> 3263 WWW-Authenticate = <WWW-Authenticate, defined in [Part7], Section 3264 3.4> 3265 absolute-URI = <absolute-URI, defined in [Part1], Section 2.1> 3266 comment = <comment, defined in [Part1], Section 1.2.2> 3267 delta-seconds = 1*DIGIT 3268 expect-params = ";" token [ "=" ( token / quoted-string ) ] 3269 expectation = "100-continue" / expectation-extension 3270 expectation-extension = token [ "=" ( token / quoted-string ) 3271 *expect-params ] 3272 extension-code = 3DIGIT 3273 extension-method = token 3274 fragment = <fragment, defined in [Part1], Section 2.1> 3275 mailbox = <mailbox, defined in [RFC5322], Section 3.4> 3276 obs-text = <obs-text, defined in [Part1], Section 1.2.2> 3277 partial-URI = <partial-URI, defined in [Part1], Section 2.1> 3278 product = <product, defined in [Part1], Section 3.4> 3279 quoted-string = <quoted-string, defined in [Part1], Section 1.2.2> 3280 request-header = Accept / Accept-Charset / Accept-Encoding / 3281 Accept-Language / Authorization / Expect / From / Host / If-Match / 3282 If-Modified-Since / If-None-Match / If-Range / If-Unmodified-Since / 3283 Max-Forwards / Proxy-Authorization / Range / Referer / TE / 3284 User-Agent 3285 response-header = Accept-Ranges / Age / Allow / ETag / Location / 3286 Proxy-Authenticate / Retry-After / Server / Vary / WWW-Authenticate 3287 token = <token, defined in [Part1], Section 1.2.2> 3288 ; Reason-Phrase defined but not used 3289 ; Status-Code defined but not used 3290 ; request-header defined but not used 3291 ; response-header defined but not used 3265 3292 </artwork> 3266 3293 </figure> -
draft-ietf-httpbis/latest/p3-payload.html
r424 r425 638 638 </p> 639 639 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 640 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 640 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 641 (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), VCHAR (any visible USASCII character), 642 and WSP (whitespace). 641 643 </p> 642 644 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 643 645 <p id="rfc.section.1.2.1.p.1">The core rules below are defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: 644 646 </p> 645 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">ALPHA</a> = <ALPHA, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 646 <a href="#core.rules" class="smpl">DIGIT</a> = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 647 <a href="#core.rules" class="smpl">OCTET</a> = <OCTET, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 648 </pre><div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 649 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 650 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 647 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 648 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 649 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 651 650 </pre><h3 id="rfc.section.1.2.2"><a href="#rfc.section.1.2.2">1.2.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 652 651 <p id="rfc.section.1.2.2.p.1">The ABNF rules below are defined in other parts:</p> 653 <div id="rfc.figure.u. 3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>654 <a href="#abnf.dependencies" class="smpl">Content-Length</a> = <Content-Length, defined in <a href="#Part1" id="rfc.xref.Part1. 10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.content-length" title="Content-Length">Section 8.2</a>>655 <a href="#abnf.dependencies" class="smpl">message-header</a> = <message-header, defined in <a href="#Part1" id="rfc.xref.Part1. 11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a>>656 <a href="#abnf.dependencies" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1. 12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>657 </pre><div id="rfc.figure.u. 4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Last-Modified</a> = <Last-Modified, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 6.6</a>>658 </pre><div id="rfc.figure.u. 5"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Content-Range</a> = <Content-Range, defined in <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.content-range" title="Content-Range">Section 5.2</a>>659 </pre><div id="rfc.figure.u. 6"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Expires</a> = <Expires, defined in <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.expires" title="Expires">Section 15.3</a>>652 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 653 <a href="#abnf.dependencies" class="smpl">Content-Length</a> = <Content-Length, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.content-length" title="Content-Length">Section 8.2</a>> 654 <a href="#abnf.dependencies" class="smpl">message-header</a> = <message-header, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a>> 655 <a href="#abnf.dependencies" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 656 </pre><div id="rfc.figure.u.3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Last-Modified</a> = <Last-Modified, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#header.last-modified" title="Last-Modified">Section 6.6</a>> 657 </pre><div id="rfc.figure.u.4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Content-Range</a> = <Content-Range, defined in <a href="#Part5" id="rfc.xref.Part5.1"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>, <a href="p5-range.html#header.content-range" title="Content-Range">Section 5.2</a>> 658 </pre><div id="rfc.figure.u.5"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">Expires</a> = <Expires, defined in <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>, <a href="p6-cache.html#header.expires" title="Expires">Section 15.3</a>> 660 659 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="protocol.parameters" href="#protocol.parameters">Protocol Parameters</a></h1> 661 660 <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a id="character.sets" href="#character.sets">Character Sets</a></h2> … … 679 678 </p> 680 679 </div> 681 <div id="rfc.figure.u. 7"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#rule.charset" class="smpl">charset</a> = <a href="#core.rules" class="smpl">token</a>680 <div id="rfc.figure.u.6"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#rule.charset" class="smpl">charset</a> = <a href="#core.rules" class="smpl">token</a> 682 681 </pre><p id="rfc.section.2.1.p.6">Although HTTP allows an arbitrary token to be used as a charset value, any token that has a predefined value within the IANA 683 682 Character Set registry <em class="bcp14">MUST</em> represent the character set defined by that registry. Applications <em class="bcp14">SHOULD</em> limit their use of character sets to those defined by the IANA registry. … … 702 701 decoded by the recipient. 703 702 </p> 704 <div id="rfc.figure.u. 8"></div><pre class="inline"><span id="rfc.iref.g.2"></span> <a href="#content.codings" class="smpl">content-coding</a> = <a href="#core.rules" class="smpl">token</a>703 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.2"></span> <a href="#content.codings" class="smpl">content-coding</a> = <a href="#core.rules" class="smpl">token</a> 705 704 </pre><p id="rfc.section.2.2.p.3">All content-coding values are case-insensitive. HTTP/1.1 uses content-coding values in the Accept-Encoding (<a href="#header.accept-encoding" id="rfc.xref.header.accept-encoding.1" title="Accept-Encoding">Section 5.3</a>) and Content-Encoding (<a href="#header.content-encoding" id="rfc.xref.header.content-encoding.1" title="Content-Encoding">Section 5.5</a>) header fields. Although the value describes the content-coding, what is more important is that it indicates what decoding 706 705 mechanism will be required to remove the encoding. … … 746 745 <p id="rfc.section.2.3.p.1">HTTP uses Internet Media Types <a href="#RFC2046" id="rfc.xref.RFC2046.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types">[RFC2046]</cite></a> in the Content-Type (<a href="#header.content-type" id="rfc.xref.header.content-type.1" title="Content-Type">Section 5.9</a>) and Accept (<a href="#header.accept" id="rfc.xref.header.accept.1" title="Accept">Section 5.1</a>) header fields in order to provide open and extensible data typing and type negotiation. 747 746 </p> 748 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#media.types" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> *( <a href="#core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> )747 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#media.types" class="smpl">media-type</a> = <a href="#media.types" class="smpl">type</a> "/" <a href="#media.types" class="smpl">subtype</a> *( <a href="#core.rules" class="smpl">OWS</a> ";" <a href="#core.rules" class="smpl">OWS</a> <a href="#rule.parameter" class="smpl">parameter</a> ) 749 748 <a href="#media.types" class="smpl">type</a> = <a href="#core.rules" class="smpl">token</a> 750 749 <a href="#media.types" class="smpl">subtype</a> = <a href="#core.rules" class="smpl">token</a> … … 753 752 </p> 754 753 </div> 755 <div id="rfc.figure.u. 10"></div><pre class="inline"><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#rule.parameter" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a>754 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#rule.parameter" class="smpl">parameter</a> = <a href="#rule.parameter" class="smpl">attribute</a> "=" <a href="#rule.parameter" class="smpl">value</a> 756 755 <a href="#rule.parameter" class="smpl">attribute</a> = <a href="#core.rules" class="smpl">token</a> 757 756 <a href="#rule.parameter" class="smpl">value</a> = <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> … … 809 808 a quality value of 0, then content with this parameter is `not acceptable' for the client. HTTP/1.1 applications <em class="bcp14">MUST NOT</em> generate more than three digits after the decimal point. User configuration of these values <em class="bcp14">SHOULD</em> also be limited in this fashion. 810 809 </p> 811 <div id="rfc.figure.u.1 1"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#core.rules" class="smpl">DIGIT</a> ] )810 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.10"></span> <a href="#quality.values" class="smpl">qvalue</a> = ( "0" [ "." 0*3<a href="#notation" class="smpl">DIGIT</a> ] ) 812 811 / ( "1" [ "." 0*3("0") ] ) 813 812 </pre><p id="rfc.section.2.4.p.3">"Quality values" is a misnomer, since these values merely represent relative degradation in desired quality.</p> … … 819 818 <p id="rfc.section.2.5.p.2">The syntax and registry of HTTP language tags is the same as that defined by <a href="#RFC1766" id="rfc.xref.RFC1766.1"><cite title="Tags for the Identification of Languages">[RFC1766]</cite></a>. In summary, a language tag is composed of 1 or more parts: A primary language tag and a possibly empty series of subtags: 820 819 </p> 821 <div id="rfc.figure.u.1 2"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span> <a href="#language.tags" class="smpl">language-tag</a> = <a href="#language.tags" class="smpl">primary-tag</a> *( "-" <a href="#language.tags" class="smpl">subtag</a> )822 <a href="#language.tags" class="smpl">primary-tag</a> = 1*8<a href="# core.rules" class="smpl">ALPHA</a>823 <a href="#language.tags" class="smpl">subtag</a> = 1*8<a href="# core.rules" class="smpl">ALPHA</a>820 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span> <a href="#language.tags" class="smpl">language-tag</a> = <a href="#language.tags" class="smpl">primary-tag</a> *( "-" <a href="#language.tags" class="smpl">subtag</a> ) 821 <a href="#language.tags" class="smpl">primary-tag</a> = 1*8<a href="#notation" class="smpl">ALPHA</a> 822 <a href="#language.tags" class="smpl">subtag</a> = 1*8<a href="#notation" class="smpl">ALPHA</a> 824 823 </pre><p id="rfc.section.2.5.p.4">White space is not allowed within the tag and all tags are case-insensitive. The name space of language tags is administered 825 824 by the IANA. Example tags include: 826 825 </p> 827 <div id="rfc.figure.u.1 3"></div><pre class="text"> en, en-US, en-cockney, i-cherokee, x-pig-latin826 <div id="rfc.figure.u.12"></div><pre class="text"> en, en-US, en-cockney, i-cherokee, x-pig-latin 828 827 </pre><p id="rfc.section.2.5.p.6">where any two-letter primary-tag is an ISO-639 language abbreviation and any two-letter initial subtag is an ISO-3166 country 829 828 code. (The last three tags above are not registered tags; all but the last are examples of tags which could be registered … … 841 840 by the request. 842 841 </p> 843 <div id="rfc.figure.u.1 4"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#entity.header.fields" class="smpl">entity-header</a> = <a href="#header.content-encoding" class="smpl">Content-Encoding</a> ; <a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section 5.5</a>842 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#entity.header.fields" class="smpl">entity-header</a> = <a href="#header.content-encoding" class="smpl">Content-Encoding</a> ; <a href="#header.content-encoding" id="rfc.xref.header.content-encoding.2" title="Content-Encoding">Section 5.5</a> 844 843 / <a href="#header.content-language" class="smpl">Content-Language</a> ; <a href="#header.content-language" id="rfc.xref.header.content-language.1" title="Content-Language">Section 5.6</a> 845 / <a href="#abnf.dependencies" class="smpl">Content-Length</a> ; <a href="#Part1" id="rfc.xref.Part1.1 3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.content-length" title="Content-Length">Section 8.2</a>844 / <a href="#abnf.dependencies" class="smpl">Content-Length</a> ; <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.content-length" title="Content-Length">Section 8.2</a> 846 845 / <a href="#header.content-location" class="smpl">Content-Location</a> ; <a href="#header.content-location" id="rfc.xref.header.content-location.1" title="Content-Location">Section 5.7</a> 847 846 / <a href="#header.content-md5" class="smpl">Content-MD5</a> ; <a href="#header.content-md5" id="rfc.xref.header.content-md5.1" title="Content-MD5">Section 5.8</a> … … 858 857 <h2 id="rfc.section.3.2"><a href="#rfc.section.3.2">3.2</a> <a id="entity.body" href="#entity.body">Entity Body</a></h2> 859 858 <p id="rfc.section.3.2.p.1">The entity-body (if any) sent with an HTTP request or response is in a format and encoding defined by the entity-header fields.</p> 860 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.16"></span> <a href="#entity.body" class="smpl">entity-body</a> = *<a href="#core.rules" class="smpl">OCTET</a>861 </pre><p id="rfc.section.3.2.p.3">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.1 4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure859 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.16"></span> <a href="#entity.body" class="smpl">entity-body</a> = *<a href="#notation" class="smpl">OCTET</a> 860 </pre><p id="rfc.section.3.2.p.3">An entity-body is only present in a message when a message-body is present, as described in <a href="p1-messaging.html#message.body" title="Message Body">Section 4.3</a> of <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The entity-body is obtained from the message-body by decoding any Transfer-Encoding that might have been applied to ensure 862 861 safe and proper transfer of the message. 863 862 </p> … … 866 865 and Content-Encoding. These define a two-layer, ordered encoding model: 867 866 </p> 868 <div id="rfc.figure.u.1 6"></div><pre class="text"> entity-body := Content-Encoding( Content-Type( data ) )867 <div id="rfc.figure.u.15"></div><pre class="text"> entity-body := Content-Encoding( Content-Type( data ) ) 869 868 </pre><p id="rfc.section.3.2.1.p.3">Content-Type specifies the media type of the underlying data. Content-Encoding may be used to indicate any additional content 870 869 codings applied to the data, usually for the purpose of data compression, that are a property of the requested resource. There … … 876 875 </p> 877 876 <h3 id="rfc.section.3.2.2"><a href="#rfc.section.3.2.2">3.2.2</a> <a id="entity.length" href="#entity.length">Entity Length</a></h3> 878 <p id="rfc.section.3.2.2.p.1">The entity-length of a message is the length of the message-body before any transfer-codings have been applied. <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.1 5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> defines how the transfer-length of a message-body is determined.877 <p id="rfc.section.3.2.2.p.1">The entity-length of a message is the length of the message-body before any transfer-codings have been applied. <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> defines how the transfer-length of a message-body is determined. 879 878 </p> 880 879 <h1 id="rfc.section.4"><a href="#rfc.section.4">4.</a> <a id="content.negotiation" href="#content.negotiation">Content Negotiation</a></h1> … … 970 969 a request for an in-line image. 971 970 </p> 972 <div id="rfc.figure.u.1 7"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span> <a href="#header.accept" class="smpl">Accept</a> = "Accept" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.accept" class="smpl">Accept-v</a>971 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span> <a href="#header.accept" class="smpl">Accept</a> = "Accept" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.accept" class="smpl">Accept-v</a> 973 972 <a href="#header.accept" class="smpl">Accept-v</a> = #( <a href="#header.accept" class="smpl">media-range</a> [ <a href="#header.accept" class="smpl">accept-params</a> ] ) 974 973 … … 995 994 </dl> 996 995 <p id="rfc.section.5.1.p.5">The example</p> 997 <div id="rfc.figure.u.1 8"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic996 <div id="rfc.figure.u.17"></div><pre class="text"> Accept: audio/*; q=0.2, audio/basic 998 997 </pre><p id="rfc.section.5.1.p.7"> <em class="bcp14">SHOULD</em> be interpreted as "I prefer audio/basic, but send me any audio type if it is the best available after an 80% mark-down in 999 998 quality." … … 1004 1003 </p> 1005 1004 <p id="rfc.section.5.1.p.9">A more elaborate example is</p> 1006 <div id="rfc.figure.u.1 9"></div><pre class="text"> Accept: text/plain; q=0.5, text/html,1005 <div id="rfc.figure.u.18"></div><pre class="text"> Accept: text/plain; q=0.5, text/html, 1007 1006 text/x-dvi; q=0.8, text/x-c 1008 1007 </pre><p id="rfc.section.5.1.p.11">Verbally, this would be interpreted as "text/html and text/x-c are the preferred media types, but if they do not exist, then … … 1012 1011 to a given type, the most specific reference has precedence. For example, 1013 1012 </p> 1014 <div id="rfc.figure.u. 20"></div><pre class="text"> Accept: text/*, text/html, text/html;level=1, */*1013 <div id="rfc.figure.u.19"></div><pre class="text"> Accept: text/*, text/html, text/html;level=1, */* 1015 1014 </pre><p id="rfc.section.5.1.p.14">have the following precedence:</p> 1016 <div id="rfc.figure.u.2 1"></div><pre class="text"> 1) text/html;level=11015 <div id="rfc.figure.u.20"></div><pre class="text"> 1) text/html;level=1 1017 1016 2) text/html 1018 1017 3) text/* … … 1021 1020 which matches that type. For example, 1022 1021 </p> 1023 <div id="rfc.figure.u.2 2"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1,1022 <div id="rfc.figure.u.21"></div><pre class="text"> Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, 1024 1023 text/html;level=2;q=0.4, */*;q=0.5 1025 1024 </pre><p id="rfc.section.5.1.p.18">would cause the following values to be associated:</p> 1026 <div id="rfc.figure.u.2 3"></div><pre class="text"> text/html;level=1 = 11025 <div id="rfc.figure.u.22"></div><pre class="text"> text/html;level=1 = 1 1027 1026 text/html = 0.7 1028 1027 text/plain = 0.3 … … 1040 1039 to a server which is capable of representing documents in those character sets. 1041 1040 </p> 1042 <div id="rfc.figure.u.2 4"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = "Accept-Charset" ":" <a href="#core.rules" class="smpl">OWS</a>1041 <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#header.accept-charset" class="smpl">Accept-Charset</a> = "Accept-Charset" ":" <a href="#core.rules" class="smpl">OWS</a> 1043 1042 <a href="#header.accept-charset" class="smpl">Accept-Charset-v</a> 1044 1043 <a href="#header.accept-charset" class="smpl">Accept-Charset-v</a> = 1#( ( <a href="#rule.charset" class="smpl">charset</a> / "*" ) … … 1047 1046 example is 1048 1047 </p> 1049 <div id="rfc.figure.u.2 5"></div><pre class="text"> Accept-Charset: iso-8859-5, unicode-1-1;q=0.81048 <div id="rfc.figure.u.24"></div><pre class="text"> Accept-Charset: iso-8859-5, unicode-1-1;q=0.8 1050 1049 </pre><p id="rfc.section.5.2.p.5">The special value "*", if present in the Accept-Charset field, matches every character set (including ISO-8859-1) which is 1051 1050 not mentioned elsewhere in the Accept-Charset field. If no "*" is present in an Accept-Charset field, then all character sets … … 1061 1060 <p id="rfc.section.5.3.p.1">The request-header field "Accept-Encoding" is similar to Accept, but restricts the content-codings (<a href="#content.codings" title="Content Codings">Section 2.2</a>) that are acceptable in the response. 1062 1061 </p> 1063 <div id="rfc.figure.u.2 6"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span><span id="rfc.iref.g.26"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = "Accept-Encoding" ":" <a href="#core.rules" class="smpl">OWS</a>1062 <div id="rfc.figure.u.25"></div><pre class="inline"><span id="rfc.iref.g.24"></span><span id="rfc.iref.g.25"></span><span id="rfc.iref.g.26"></span> <a href="#header.accept-encoding" class="smpl">Accept-Encoding</a> = "Accept-Encoding" ":" <a href="#core.rules" class="smpl">OWS</a> 1064 1063 <a href="#header.accept-encoding" class="smpl">Accept-Encoding-v</a> 1065 1064 <a href="#header.accept-encoding" class="smpl">Accept-Encoding-v</a> = … … 1069 1068 </p> 1070 1069 <p id="rfc.section.5.3.p.4">Examples of its use are:</p> 1071 <div id="rfc.figure.u.2 7"></div><pre class="text"> Accept-Encoding: compress, gzip1070 <div id="rfc.figure.u.26"></div><pre class="text"> Accept-Encoding: compress, gzip 1072 1071 Accept-Encoding: 1073 1072 Accept-Encoding: * … … 1111 1110 as a response to the request. Language tags are defined in <a href="#language.tags" title="Language Tags">Section 2.5</a>. 1112 1111 </p> 1113 <div id="rfc.figure.u.2 8"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span> <a href="#header.accept-language" class="smpl">Accept-Language</a> = "Accept-Language" ":" <a href="#core.rules" class="smpl">OWS</a>1112 <div id="rfc.figure.u.27"></div><pre class="inline"><span id="rfc.iref.g.27"></span><span id="rfc.iref.g.28"></span><span id="rfc.iref.g.29"></span> <a href="#header.accept-language" class="smpl">Accept-Language</a> = "Accept-Language" ":" <a href="#core.rules" class="smpl">OWS</a> 1114 1113 <a href="#header.accept-language" class="smpl">Accept-Language-v</a> 1115 1114 <a href="#header.accept-language" class="smpl">Accept-Language-v</a> = … … 1120 1119 languages specified by that range. The quality value defaults to "q=1". For example, 1121 1120 </p> 1122 <div id="rfc.figure.u.2 9"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.71121 <div id="rfc.figure.u.28"></div><pre class="text"> Accept-Language: da, en-gb;q=0.8, en;q=0.7 1123 1122 </pre><p id="rfc.section.5.4.p.5">would mean: "I prefer Danish, but will accept British English and other types of English."</p> 1124 1123 <p id="rfc.section.5.4.p.6">For matching, the "Basic Filtering" matching scheme, defined in <a href="http://tools.ietf.org/html/rfc4647#section-3.3.1">Section 3.3.1</a> of <a href="#RFC4647" id="rfc.xref.RFC4647.2"><cite title="Matching of Language Tags">[RFC4647]</cite></a>, is used: … … 1164 1163 to be compressed without losing the identity of its underlying media type. 1165 1164 </p> 1166 <div id="rfc.figure.u. 30"></div><pre class="inline"><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span> <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = "Content-Encoding" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-encoding" class="smpl">Content-Encoding-v</a>1165 <div id="rfc.figure.u.29"></div><pre class="inline"><span id="rfc.iref.g.30"></span><span id="rfc.iref.g.31"></span> <a href="#header.content-encoding" class="smpl">Content-Encoding</a> = "Content-Encoding" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-encoding" class="smpl">Content-Encoding-v</a> 1167 1166 <a href="#header.content-encoding" class="smpl">Content-Encoding-v</a> = 1#<a href="#content.codings" class="smpl">content-coding</a> 1168 1167 </pre><p id="rfc.section.5.5.p.3">Content codings are defined in <a href="#content.codings" title="Content Codings">Section 2.2</a>. An example of its use is 1169 1168 </p> 1170 <div id="rfc.figure.u.3 1"></div><pre class="text"> Content-Encoding: gzip1169 <div id="rfc.figure.u.30"></div><pre class="text"> Content-Encoding: gzip 1171 1170 </pre><p id="rfc.section.5.5.p.5">The content-coding is a characteristic of the entity identified by the request-target. Typically, the entity-body is stored 1172 1171 with this encoding and is only decoded before rendering or analogous usage. However, a non-transparent proxy <em class="bcp14">MAY</em> modify the content-coding if the new coding is known to be acceptable to the recipient, unless the "no-transform" cache-control … … 1185 1184 Note that this might not be equivalent to all the languages used within the entity-body. 1186 1185 </p> 1187 <div id="rfc.figure.u.3 2"></div><pre class="inline"><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span> <a href="#header.content-language" class="smpl">Content-Language</a> = "Content-Language" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-language" class="smpl">Content-Language-v</a>1186 <div id="rfc.figure.u.31"></div><pre class="inline"><span id="rfc.iref.g.32"></span><span id="rfc.iref.g.33"></span> <a href="#header.content-language" class="smpl">Content-Language</a> = "Content-Language" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-language" class="smpl">Content-Language-v</a> 1188 1187 <a href="#header.content-language" class="smpl">Content-Language-v</a> = 1#<a href="#language.tags" class="smpl">language-tag</a> 1189 1188 </pre><p id="rfc.section.5.6.p.3">Language tags are defined in <a href="#language.tags" title="Language Tags">Section 2.5</a>. The primary purpose of Content-Language is to allow a user to identify and differentiate entities according to the user's 1190 1189 own preferred language. Thus, if the body content is intended only for a Danish-literate audience, the appropriate field is 1191 1190 </p> 1192 <div id="rfc.figure.u.3 3"></div><pre class="text"> Content-Language: da1191 <div id="rfc.figure.u.32"></div><pre class="text"> Content-Language: da 1193 1192 </pre><p id="rfc.section.5.6.p.5">If no Content-Language is specified, the default is that the content is intended for all language audiences. This might mean 1194 1193 that the sender does not consider it to be specific to any natural language, or that the sender does not know for which language … … 1198 1197 simultaneously in the original Maori and English versions, would call for 1199 1198 </p> 1200 <div id="rfc.figure.u.3 4"></div><pre class="text"> Content-Language: mi, en1199 <div id="rfc.figure.u.33"></div><pre class="text"> Content-Language: mi, en 1201 1200 </pre><p id="rfc.section.5.6.p.8">However, just because multiple languages are present within an entity does not mean that it is intended for multiple linguistic 1202 1201 audiences. An example would be a beginner's language primer, such as "A First Lesson in Latin," which is clearly intended … … 1213 1212 accessed, the server <em class="bcp14">SHOULD</em> provide a Content-Location for the particular variant which is returned. 1214 1213 </p> 1215 <div id="rfc.figure.u.3 5"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = "Content-Location" ":" <a href="#core.rules" class="smpl">OWS</a>1214 <div id="rfc.figure.u.34"></div><pre class="inline"><span id="rfc.iref.g.34"></span><span id="rfc.iref.g.35"></span> <a href="#header.content-location" class="smpl">Content-Location</a> = "Content-Location" ":" <a href="#core.rules" class="smpl">OWS</a> 1216 1215 <a href="#header.content-location" class="smpl">Content-Location-v</a> 1217 1216 <a href="#header.content-location" class="smpl">Content-Location-v</a> = … … 1234 1233 attacks.) 1235 1234 </p> 1236 <div id="rfc.figure.u.3 6"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span> <a href="#header.content-md5" class="smpl">Content-MD5</a> = "Content-MD5" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-md5" class="smpl">Content-MD5-v</a>1235 <div id="rfc.figure.u.35"></div><pre class="inline"><span id="rfc.iref.g.36"></span><span id="rfc.iref.g.37"></span> <a href="#header.content-md5" class="smpl">Content-MD5</a> = "Content-MD5" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-md5" class="smpl">Content-MD5-v</a> 1237 1236 <a href="#header.content-md5" class="smpl">Content-MD5-v</a> = <base64 of 128 bit MD5 digest as per <a href="#RFC1864" id="rfc.xref.RFC1864.2"><cite title="The Content-MD5 Header Field">[RFC1864]</cite></a>> 1238 1237 </pre><p id="rfc.section.5.8.p.3">The Content-MD5 header field <em class="bcp14">MAY</em> be generated by an origin server or client to function as an integrity check of the entity-body. Only origin servers or clients <em class="bcp14">MAY</em> generate the Content-MD5 header field; proxies and gateways <em class="bcp14">MUST NOT</em> generate it, as this would defeat its value as an end-to-end integrity check. Any recipient of the entity-body, including … … 1271 1270 the HEAD method, the media type that would have been sent had the request been a GET. 1272 1271 </p> 1273 <div id="rfc.figure.u.3 7"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span> <a href="#header.content-type" class="smpl">Content-Type</a> = "Content-Type" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-type" class="smpl">Content-Type-v</a>1272 <div id="rfc.figure.u.36"></div><pre class="inline"><span id="rfc.iref.g.38"></span><span id="rfc.iref.g.39"></span> <a href="#header.content-type" class="smpl">Content-Type</a> = "Content-Type" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-type" class="smpl">Content-Type-v</a> 1274 1273 <a href="#header.content-type" class="smpl">Content-Type-v</a> = <a href="#media.types" class="smpl">media-type</a> 1275 1274 </pre><p id="rfc.section.5.9.p.3">Media types are defined in <a href="#media.types" title="Media Types">Section 2.3</a>. An example of the field is 1276 1275 </p> 1277 <div id="rfc.figure.u.3 8"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-41276 <div id="rfc.figure.u.37"></div><pre class="text"> Content-Type: text/html; charset=ISO-8859-4 1278 1277 </pre><p id="rfc.section.5.9.p.5">Further discussion of methods for identifying the media type of an entity is provided in <a href="#type" title="Type">Section 3.2.1</a>. 1279 1278 </p> … … 1408 1407 <h2 id="rfc.references.1"><a href="#rfc.section.9.1" id="rfc.section.9.1">9.1</a> Normative References 1409 1408 </h2> 1410 <table summary="Normative References"> 1409 <table summary="Normative References"> 1411 1410 <tr> 1412 1411 <td class="reference"><b id="ISO-8859-1">[ISO-8859-1]</b></td> … … 1487 1486 <td class="reference"><b id="RFC4647">[RFC4647]</b></td> 1488 1487 <td class="top"><a title="Yahoo! Inc.">Phillips, A., Ed.</a> and <a title="Google">M. Davis, Ed.</a>, “<a href="http://tools.ietf.org/html/rfc4647">Matching of Language Tags</a>”, BCP 47, RFC 4647, September 2006. 1488 </td> 1489 </tr> 1490 <tr> 1491 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 1492 <td class="top"><a title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 1489 1493 </td> 1490 1494 </tr> … … 1597 1601 environments. 1598 1602 </p> 1599 <div id="rfc.figure.u.3 9"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span> <a href="#mime-version" class="smpl">MIME-Version</a> = "MIME-Version" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#mime-version" class="smpl">MIME-Version-v</a>1600 <a href="#mime-version" class="smpl">MIME-Version-v</a> = 1*<a href="# core.rules" class="smpl">DIGIT</a> "." 1*<a href="#core.rules" class="smpl">DIGIT</a>1603 <div id="rfc.figure.u.38"></div><pre class="inline"><span id="rfc.iref.g.40"></span><span id="rfc.iref.g.41"></span> <a href="#mime-version" class="smpl">MIME-Version</a> = "MIME-Version" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#mime-version" class="smpl">MIME-Version-v</a> 1604 <a href="#mime-version" class="smpl">MIME-Version-v</a> = 1*<a href="#notation" class="smpl">DIGIT</a> "." 1*<a href="#notation" class="smpl">DIGIT</a> 1601 1605 </pre><p id="rfc.section.A.1.p.3">MIME version "1.0" is the default for use in HTTP/1.1. However, HTTP/1.1 message parsing and semantics are defined by this 1602 1606 document and not the MIME specification. … … 1616 1620 </p> 1617 1621 <h2 id="rfc.section.A.3"><a href="#rfc.section.A.3">A.3</a> <a id="conversion.of.date.formats" href="#conversion.of.date.formats">Conversion of Date Formats</a></h2> 1618 <p id="rfc.section.A.3.p.1">HTTP/1.1 uses a restricted set of date formats (<a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.1 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) to simplify the process of date comparison. Proxies and gateways from other protocols <em class="bcp14">SHOULD</em> ensure that any Date header field present in a message conforms to one of the HTTP/1.1 formats and rewrite the date if necessary.1622 <p id="rfc.section.A.3.p.1">HTTP/1.1 uses a restricted set of date formats (<a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>) to simplify the process of date comparison. Proxies and gateways from other protocols <em class="bcp14">SHOULD</em> ensure that any Date header field present in a message conforms to one of the HTTP/1.1 formats and rewrite the date if necessary. 1619 1623 </p> 1620 1624 <h2 id="rfc.section.A.4"><a href="#rfc.section.A.4">A.4</a> <a id="introduction.of.content-encoding" href="#introduction.of.content-encoding">Introduction of Content-Encoding</a></h2> … … 1633 1637 </p> 1634 1638 <h2 id="rfc.section.A.6"><a href="#rfc.section.A.6">A.6</a> <a id="introduction.of.transfer-encoding" href="#introduction.of.transfer-encoding">Introduction of Transfer-Encoding</a></h2> 1635 <p id="rfc.section.A.6.p.1">HTTP/1.1 introduces the Transfer-Encoding header field (<a href="p1-messaging.html#header.transfer-encoding" title="Transfer-Encoding">Section 8.7</a> of <a href="#Part1" id="rfc.xref.Part1.1 7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). Proxies/gateways <em class="bcp14">MUST</em> remove any transfer-coding prior to forwarding a message via a MIME-compliant protocol.1639 <p id="rfc.section.A.6.p.1">HTTP/1.1 introduces the Transfer-Encoding header field (<a href="p1-messaging.html#header.transfer-encoding" title="Transfer-Encoding">Section 8.7</a> of <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). Proxies/gateways <em class="bcp14">MUST</em> remove any transfer-coding prior to forwarding a message via a MIME-compliant protocol. 1636 1640 </p> 1637 1641 <h2 id="rfc.section.A.7"><a href="#rfc.section.A.7">A.7</a> <a id="mhtml.line.length" href="#mhtml.line.length">MHTML and Line Length Limitations</a></h2> … … 1655 1659 in <a href="#RFC2183" id="rfc.xref.RFC2183.3"><cite title="Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field">[RFC2183]</cite></a>. 1656 1660 </p> 1657 <div id="rfc.figure.u. 40"></div><pre class="inline"><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span> <a href="#content-disposition" class="smpl">content-disposition</a> = "Content-Disposition" ":" <a href="#core.rules" class="smpl">OWS</a>1661 <div id="rfc.figure.u.39"></div><pre class="inline"><span id="rfc.iref.g.42"></span><span id="rfc.iref.g.43"></span><span id="rfc.iref.g.44"></span><span id="rfc.iref.g.45"></span><span id="rfc.iref.g.46"></span><span id="rfc.iref.g.47"></span><span id="rfc.iref.g.48"></span> <a href="#content-disposition" class="smpl">content-disposition</a> = "Content-Disposition" ":" <a href="#core.rules" class="smpl">OWS</a> 1658 1662 <a href="#content-disposition" class="smpl">content-disposition-v</a> 1659 1663 <a href="#content-disposition" class="smpl">content-disposition-v</a> = <a href="#content-disposition" class="smpl">disposition-type</a> … … 1665 1669 <a href="#content-disposition" class="smpl">disp-extension-parm</a> = <a href="#core.rules" class="smpl">token</a> "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) 1666 1670 </pre><p id="rfc.section.B.1.p.3">An example is</p> 1667 <div id="rfc.figure.u.4 1"></div><pre class="text"> Content-Disposition: attachment; filename="fname.ext"1671 <div id="rfc.figure.u.40"></div><pre class="text"> Content-Disposition: attachment; filename="fname.ext" 1668 1672 </pre><p id="rfc.section.B.1.p.5">The receiving user agent <em class="bcp14">SHOULD NOT</em> respect any directory path information present in the filename-parm parameter, which is the only parameter believed to apply 1669 1673 to HTTP implementations at this time. The filename <em class="bcp14">SHOULD</em> be treated as a terminal component only. … … 1678 1682 <p id="rfc.section.C.1.p.1">Transfer-coding and message lengths all interact in ways that required fixing exactly when chunked encoding is used (to allow 1679 1683 for transfer encoding that may not be self delimiting); it was important to straighten out exactly how message lengths are 1680 computed. (<a href="#entity.length" title="Entity Length">Section 3.2.2</a>, see also <a href="#Part1" id="rfc.xref.Part1.1 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part5" id="rfc.xref.Part5.4"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>).1684 computed. (<a href="#entity.length" title="Entity Length">Section 3.2.2</a>, see also <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part5" id="rfc.xref.Part5.4"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.5"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>). 1681 1685 </p> 1682 1686 <p id="rfc.section.C.1.p.2">Charset wildcarding is introduced to avoid explosion of character set names in accept headers. (<a href="#header.accept-charset" id="rfc.xref.header.accept-charset.3" title="Accept-Charset">Section 5.2</a>) … … 1697 1701 </p> 1698 1702 <h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1699 <div id="rfc.figure.u.42"></div> <pre class="inline">ALPHA = <ALPHA, defined in [Part1], Section 1.2.2> 1700 Accept = "Accept:" OWS Accept-v 1703 <div id="rfc.figure.u.41"></div> <pre class="inline">Accept = "Accept:" OWS Accept-v 1701 1704 Accept-Charset = "Accept-Charset:" OWS Accept-Charset-v 1702 1705 Accept-Charset-v = *( "," OWS ) ( charset / "*" ) [ OWS ";" OWS "q=" … … 1726 1729 Content-Type = "Content-Type:" OWS Content-Type-v 1727 1730 Content-Type-v = media-type 1728 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>1729 1731 Expires = <Expires, defined in [Part6], Section 15.3> 1730 1732 Last-Modified = <Last-Modified, defined in [Part4], Section 6.6> 1731 1733 MIME-Version = "MIME-Version:" OWS MIME-Version-v 1732 1734 MIME-Version-v = 1*DIGIT "." 1*DIGIT 1733 OCTET = <OCTET, defined in [Part1], Section 1.2.2>1734 1735 OWS = <OWS, defined in [Part1], Section 1.2.2> 1735 1736 absolute-URI = <absolute-URI, defined in [Part1], Section 2.1> … … 2023 2024 </li> 2024 2025 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 2025 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1.2</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2. 1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.10">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.11">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.12">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.13">3.1</a>, <a class="iref" href="#rfc.xref.Part1.14">3.2</a>, <a class="iref" href="#rfc.xref.Part1.15">3.2.2</a>, <a class="iref" href="#Part1"><b>9.1</b></a>, <a class="iref" href="#rfc.xref.Part1.16">A.3</a>, <a class="iref" href="#rfc.xref.Part1.17">A.6</a>, <a class="iref" href="#rfc.xref.Part1.18">C.1</a><ul class="ind">2026 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1.2</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.10">3.1</a>, <a class="iref" href="#rfc.xref.Part1.11">3.2</a>, <a class="iref" href="#rfc.xref.Part1.12">3.2.2</a>, <a class="iref" href="#Part1"><b>9.1</b></a>, <a class="iref" href="#rfc.xref.Part1.13">A.3</a>, <a class="iref" href="#rfc.xref.Part1.14">A.6</a>, <a class="iref" href="#rfc.xref.Part1.15">C.1</a><ul class="ind"> 2026 2027 <li class="indline1"><em>Section 1.2</em> <a class="iref" href="#rfc.xref.Part1.1">1.2</a></li> 2027 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a> , <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.1</a></li>2028 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1. 9">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.12">1.2.2</a></li>2029 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.1 6">A.3</a></li>2030 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1. 11">1.2.2</a></li>2031 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1.1 4">3.2</a></li>2032 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.1 5">3.2.2</a></li>2033 <li class="indline1"><em>Section 8.2</em> <a class="iref" href="#rfc.xref.Part1. 10">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.13">3.1</a></li>2034 <li class="indline1"><em>Section 8.7</em> <a class="iref" href="#rfc.xref.Part1.1 7">A.6</a></li>2028 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a></li> 2029 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.6">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.9">1.2.2</a></li> 2030 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.13">A.3</a></li> 2031 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1.8">1.2.2</a></li> 2032 <li class="indline1"><em>Section 4.3</em> <a class="iref" href="#rfc.xref.Part1.11">3.2</a></li> 2033 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.12">3.2.2</a></li> 2034 <li class="indline1"><em>Section 8.2</em> <a class="iref" href="#rfc.xref.Part1.7">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.10">3.1</a></li> 2035 <li class="indline1"><em>Section 8.7</em> <a class="iref" href="#rfc.xref.Part1.14">A.6</a></li> 2035 2036 </ul> 2036 2037 </li> … … 2095 2096 </ul> 2096 2097 </li> 2098 <li class="indline1"><em>RFC5234</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a>, <a class="iref" href="#RFC5234"><b>9.1</b></a><ul class="ind"> 2099 <li class="indline1"><em>Appendix B.1</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a></li> 2100 </ul> 2101 </li> 2097 2102 <li class="indline1"><em>RFC5322</em> <a class="iref" href="#RFC5322"><b>9.2</b></a>, <a class="iref" href="#rfc.xref.RFC5322.1">A</a></li> 2098 2103 </ul> -
draft-ietf-httpbis/latest/p3-payload.xml
r424 r425 253 253 254 254 <section title="Syntax Notation" anchor="notation"> 255 <x:anchor-alias value="ALPHA"/> 256 <x:anchor-alias value="CR"/> 257 <x:anchor-alias value="DIGIT"/> 258 <x:anchor-alias value="LF"/> 259 <x:anchor-alias value="OCTET"/> 260 <x:anchor-alias value="VCHAR"/> 261 <x:anchor-alias value="WSP"/> 255 262 <t> 256 263 This specification uses the ABNF syntax defined in ¬ation;. 264 The following core rules are included by 265 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 266 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 267 DIGIT (decimal 0-9), DQUOTE (double quote), 268 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 269 OCTET (any 8-bit sequence of data), SP (space), 270 VCHAR (any visible USASCII character), 271 and WSP (whitespace). 257 272 </t> 258 273 259 274 <section title="Core Rules" anchor="core.rules"> 260 <x:anchor-alias value="ALPHA"/>261 <x:anchor-alias value="DIGIT"/>262 <x:anchor-alias value="OCTET"/>263 275 <x:anchor-alias value="quoted-string"/> 264 276 <x:anchor-alias value="token"/> … … 267 279 The core rules below are defined in &basic-rules;: 268 280 </t> 269 <figure><artwork type="abnf2616">270 <x:ref>ALPHA</x:ref> = <ALPHA, defined in &basic-rules;>271 <x:ref>DIGIT</x:ref> = <DIGIT, defined in &basic-rules;>272 <x:ref>OCTET</x:ref> = <OCTET, defined in &basic-rules;>273 </artwork></figure>274 281 <figure><artwork type="abnf2616"> 275 282 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &basic-rules;> … … 2086 2093 </reference> 2087 2094 2095 <reference anchor="RFC5234"> 2096 <front> 2097 <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title> 2098 <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor"> 2099 <organization>Brandenburg InternetWorking</organization> 2100 <address> 2101 <postal> 2102 <street>675 Spruce Dr.</street> 2103 <city>Sunnyvale</city> 2104 <region>CA</region> 2105 <code>94086</code> 2106 <country>US</country></postal> 2107 <phone>+1.408.246.8253</phone> 2108 <email>dcrocker@bbiw.net</email></address> 2109 </author> 2110 <author initials="P." surname="Overell" fullname="Paul Overell"> 2111 <organization>THUS plc.</organization> 2112 <address> 2113 <postal> 2114 <street>1/2 Berkeley Square</street> 2115 <street>99 Berkely Street</street> 2116 <city>Glasgow</city> 2117 <code>G3 7HR</code> 2118 <country>UK</country></postal> 2119 <email>paul.overell@thus.net</email></address> 2120 </author> 2121 <date month="January" year="2008"/> 2122 </front> 2123 <seriesInfo name="STD" value="68"/> 2124 <seriesInfo name="RFC" value="5234"/> 2125 </reference> 2126 2088 2127 </references> 2089 2128 … … 2619 2658 <section title="Collected ABNF" anchor="collected.abnf"> 2620 2659 <figure> 2621 <artwork type="abnf" name="p3-payload.parsed-abnf">ALPHA = <ALPHA, defined in [Part1], Section 1.2.2>
 2622 Accept = "Accept:" OWS Accept-v
 2623 Accept-Charset = "Accept-Charset:" OWS Accept-Charset-v
 2624 Accept-Charset-v = *( "," OWS ) ( charset / "*" ) [ OWS ";" OWS "q="
 2625 qvalue ] *( OWS "," [ OWS ( charset / "*" ) [ OWS ";" OWS "q="
 2626 qvalue ] ] )
 2627 Accept-Encoding = "Accept-Encoding:" OWS Accept-Encoding-v
 2628 Accept-Encoding-v = [ ( "," / ( codings [ OWS ";" OWS "q=" qvalue ] )
 2629 ) *( OWS "," [ OWS codings [ OWS ";" OWS "q=" qvalue ] ] ) ]
 2630 Accept-Language = "Accept-Language:" OWS Accept-Language-v
 2631 Accept-Language-v = *( "," OWS ) language-range [ OWS ";" OWS "q="
 2632 qvalue ] *( OWS "," [ OWS language-range [ OWS ";" OWS "q=" qvalue ]
 2633 ] )
 2634 Accept-v = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [
 2635 OWS media-range [ accept-params ] ] ) ]
 2636 Content-Encoding = "Content-Encoding:" OWS Content-Encoding-v
 2637 Content-Encoding-v = *( "," OWS ) content-coding *( OWS "," [ OWS
 2638 content-coding ] )
 2639 Content-Language = "Content-Language:" OWS Content-Language-v
 2640 Content-Language-v = *( "," OWS ) language-tag *( OWS "," [ OWS
 2641 language-tag ] )
 2642 Content-Length = <Content-Length, defined in [Part1], Section 8.2>
 2643 Content-Location = "Content-Location:" OWS Content-Location-v
 2644 Content-Location-v = absolute-URI / partial-URI
 2645 Content-MD5 = "Content-MD5:" OWS Content-MD5-v
 2646 Content-MD5-v = <base64 of 128 bit MD5 digest as per [RFC1864]>
 2647 Content-Range = <Content-Range, defined in [Part5], Section 5.2>
 2648 Content-Type = "Content-Type:" OWS Content-Type-v
 2649 Content-Type-v = media-type
 2650 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>
 2651 Expires = <Expires, defined in [Part6], Section 15.3>
 2652 Last-Modified = <Last-Modified, defined in [Part4], Section 6.6>
 2653 MIME-Version = "MIME-Version:" OWS MIME-Version-v
 2654 MIME-Version-v = 1*DIGIT "." 1*DIGIT
 2655 OCTET = <OCTET, defined in [Part1], Section 1.2.2>
 2656 OWS = <OWS, defined in [Part1], Section 1.2.2>
 2657 absolute-URI = <absolute-URI, defined in [Part1], Section 2.1>
 2658 accept-ext = OWS ";" OWS token [ "=" ( token / quoted-string ) ]
 2659 accept-params = OWS ";" OWS "q=" qvalue *accept-ext
 2660 attribute = token
 2661 charset = token
 2662 codings = ( content-coding / "*" )
 2663 content-coding = token
 2664 content-disposition = "Content-Disposition:" OWS
 2665 content-disposition-v
 2666 content-disposition-v = disposition-type *( OWS ";" OWS
 2667 disposition-parm )
 2668 disp-extension-parm = token "=" ( token / quoted-string )
 2669 disp-extension-token = token
 2670 disposition-parm = filename-parm / disp-extension-parm
 2671 disposition-type = "attachment" / disp-extension-token
 2672 entity-body = *OCTET
 2673 entity-header = Content-Encoding / Content-Language / Content-Length
 2674 / Content-Location / Content-MD5 / Content-Range / Content-Type /
 2675 Expires / Last-Modified / extension-header
 2676 extension-header = message-header
 2677 filename-parm = "filename=" quoted-string
 2678 language-range = <language-range, defined in [RFC4647], Section 2.1>
 2679 language-tag = primary-tag *( "-" subtag )
 2680 media-range = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS
 2681 ";" OWS parameter )
 2682 media-type = type "/" subtype *( OWS ";" OWS parameter )
 2683 message-header = <message-header, defined in [Part1], Section 4.2>
 2684 parameter = attribute "=" value
 2685 partial-URI = <partial-URI, defined in [Part1], Section 2.1>
 2686 primary-tag = 1*8ALPHA
 2687 quoted-string = <quoted-string, defined in [Part1], Section 1.2.2>
 2688 qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] )
 2689 subtag = 1*8ALPHA
 2690 subtype = token
 2691 token = <token, defined in [Part1], Section 1.2.2>
 2692 type = token
 2693 value = token / quoted-string
 2694 ; Accept defined but not used
 2695 ; Accept-Charset defined but not used
 2696 ; Accept-Encoding defined but not used
 2697 ; Accept-Language defined but not used
 2698 ; MIME-Version defined but not used
 2699 ; content-disposition defined but not used
 2700 ; entity-body defined but not used
 2701 ; entity-header defined but not used
 2660 <artwork type="abnf" name="p3-payload.parsed-abnf"> 2661 Accept = "Accept:" OWS Accept-v 2662 Accept-Charset = "Accept-Charset:" OWS Accept-Charset-v 2663 Accept-Charset-v = *( "," OWS ) ( charset / "*" ) [ OWS ";" OWS "q=" 2664 qvalue ] *( OWS "," [ OWS ( charset / "*" ) [ OWS ";" OWS "q=" 2665 qvalue ] ] ) 2666 Accept-Encoding = "Accept-Encoding:" OWS Accept-Encoding-v 2667 Accept-Encoding-v = [ ( "," / ( codings [ OWS ";" OWS "q=" qvalue ] ) 2668 ) *( OWS "," [ OWS codings [ OWS ";" OWS "q=" qvalue ] ] ) ] 2669 Accept-Language = "Accept-Language:" OWS Accept-Language-v 2670 Accept-Language-v = *( "," OWS ) language-range [ OWS ";" OWS "q=" 2671 qvalue ] *( OWS "," [ OWS language-range [ OWS ";" OWS "q=" qvalue ] 2672 ] ) 2673 Accept-v = [ ( "," / ( media-range [ accept-params ] ) ) *( OWS "," [ 2674 OWS media-range [ accept-params ] ] ) ] 2675 Content-Encoding = "Content-Encoding:" OWS Content-Encoding-v 2676 Content-Encoding-v = *( "," OWS ) content-coding *( OWS "," [ OWS 2677 content-coding ] ) 2678 Content-Language = "Content-Language:" OWS Content-Language-v 2679 Content-Language-v = *( "," OWS ) language-tag *( OWS "," [ OWS 2680 language-tag ] ) 2681 Content-Length = <Content-Length, defined in [Part1], Section 8.2> 2682 Content-Location = "Content-Location:" OWS Content-Location-v 2683 Content-Location-v = absolute-URI / partial-URI 2684 Content-MD5 = "Content-MD5:" OWS Content-MD5-v 2685 Content-MD5-v = <base64 of 128 bit MD5 digest as per [RFC1864]> 2686 Content-Range = <Content-Range, defined in [Part5], Section 5.2> 2687 Content-Type = "Content-Type:" OWS Content-Type-v 2688 Content-Type-v = media-type 2689 Expires = <Expires, defined in [Part6], Section 15.3> 2690 Last-Modified = <Last-Modified, defined in [Part4], Section 6.6> 2691 MIME-Version = "MIME-Version:" OWS MIME-Version-v 2692 MIME-Version-v = 1*DIGIT "." 1*DIGIT 2693 OWS = <OWS, defined in [Part1], Section 1.2.2> 2694 absolute-URI = <absolute-URI, defined in [Part1], Section 2.1> 2695 accept-ext = OWS ";" OWS token [ "=" ( token / quoted-string ) ] 2696 accept-params = OWS ";" OWS "q=" qvalue *accept-ext 2697 attribute = token 2698 charset = token 2699 codings = ( content-coding / "*" ) 2700 content-coding = token 2701 content-disposition = "Content-Disposition:" OWS 2702 content-disposition-v 2703 content-disposition-v = disposition-type *( OWS ";" OWS 2704 disposition-parm ) 2705 disp-extension-parm = token "=" ( token / quoted-string ) 2706 disp-extension-token = token 2707 disposition-parm = filename-parm / disp-extension-parm 2708 disposition-type = "attachment" / disp-extension-token 2709 entity-body = *OCTET 2710 entity-header = Content-Encoding / Content-Language / Content-Length 2711 / Content-Location / Content-MD5 / Content-Range / Content-Type / 2712 Expires / Last-Modified / extension-header 2713 extension-header = message-header 2714 filename-parm = "filename=" quoted-string 2715 language-range = <language-range, defined in [RFC4647], Section 2.1> 2716 language-tag = primary-tag *( "-" subtag ) 2717 media-range = ( "*/*" / ( type "/*" ) / ( type "/" subtype ) ) *( OWS 2718 ";" OWS parameter ) 2719 media-type = type "/" subtype *( OWS ";" OWS parameter ) 2720 message-header = <message-header, defined in [Part1], Section 4.2> 2721 parameter = attribute "=" value 2722 partial-URI = <partial-URI, defined in [Part1], Section 2.1> 2723 primary-tag = 1*8ALPHA 2724 quoted-string = <quoted-string, defined in [Part1], Section 1.2.2> 2725 qvalue = ( "0" [ "." *3DIGIT ] ) / ( "1" [ "." *3"0" ] ) 2726 subtag = 1*8ALPHA 2727 subtype = token 2728 token = <token, defined in [Part1], Section 1.2.2> 2729 type = token 2730 value = token / quoted-string 2731 ; Accept defined but not used 2732 ; Accept-Charset defined but not used 2733 ; Accept-Encoding defined but not used 2734 ; Accept-Language defined but not used 2735 ; MIME-Version defined but not used 2736 ; content-disposition defined but not used 2737 ; entity-body defined but not used 2738 ; entity-header defined but not used 2702 2739 </artwork> 2703 2740 </figure> -
draft-ietf-httpbis/latest/p4-conditional.html
r424 r425 586 586 </p> 587 587 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 588 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 588 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 589 (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), VCHAR (any visible USASCII character), 590 and WSP (whitespace). 589 591 </p> 590 592 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> … … 1089 1091 <h2 id="rfc.references.1"><a href="#rfc.section.10.1" id="rfc.section.10.1">10.1</a> Normative References 1090 1092 </h2> 1091 <table summary="Normative References"> 1093 <table summary="Normative References"> 1092 1094 <tr> 1093 1095 <td class="reference"><b id="Part1">[Part1]</b></td> … … 1108 1110 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1109 1111 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1112 </td> 1113 </tr> 1114 <tr> 1115 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 1116 <td class="top"><a title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 1110 1117 </td> 1111 1118 </tr> … … 1342 1349 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#rfc.xref.RFC2616.1">1</a>, <a class="iref" href="#RFC2616"><b>10.2</b></a>, <a class="iref" href="#rfc.xref.RFC2616.2">C.1</a></li> 1343 1350 <li class="indline1"><em>RFC3864</em> <a class="iref" href="#rfc.xref.RFC3864.1">7.1</a>, <a class="iref" href="#RFC3864"><b>10.2</b></a></li> 1351 <li class="indline1"><em>RFC5234</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a>, <a class="iref" href="#RFC5234"><b>10.1</b></a><ul class="ind"> 1352 <li class="indline1"><em>Appendix B.1</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a></li> 1353 </ul> 1354 </li> 1344 1355 </ul> 1345 1356 </li> -
draft-ietf-httpbis/latest/p4-conditional.xml
r424 r425 252 252 253 253 <section title="Syntax Notation" anchor="notation"> 254 <x:anchor-alias value="ALPHA"/> 255 <x:anchor-alias value="CR"/> 256 <x:anchor-alias value="DIGIT"/> 257 <x:anchor-alias value="LF"/> 258 <x:anchor-alias value="OCTET"/> 259 <x:anchor-alias value="VCHAR"/> 260 <x:anchor-alias value="WSP"/> 254 261 <t> 255 262 This specification uses the ABNF syntax defined in ¬ation;. 263 The following core rules are included by 264 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 265 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 266 DIGIT (decimal 0-9), DQUOTE (double quote), 267 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 268 OCTET (any 8-bit sequence of data), SP (space), 269 VCHAR (any visible USASCII character), 270 and WSP (whitespace). 256 271 </t> 257 272 … … 1258 1273 </reference> 1259 1274 1275 <reference anchor="RFC5234"> 1276 <front> 1277 <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title> 1278 <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor"> 1279 <organization>Brandenburg InternetWorking</organization> 1280 <address> 1281 <postal> 1282 <street>675 Spruce Dr.</street> 1283 <city>Sunnyvale</city> 1284 <region>CA</region> 1285 <code>94086</code> 1286 <country>US</country></postal> 1287 <phone>+1.408.246.8253</phone> 1288 <email>dcrocker@bbiw.net</email></address> 1289 </author> 1290 <author initials="P." surname="Overell" fullname="Paul Overell"> 1291 <organization>THUS plc.</organization> 1292 <address> 1293 <postal> 1294 <street>1/2 Berkeley Square</street> 1295 <street>99 Berkely Street</street> 1296 <city>Glasgow</city> 1297 <code>G3 7HR</code> 1298 <country>UK</country></postal> 1299 <email>paul.overell@thus.net</email></address> 1300 </author> 1301 <date month="January" year="2008"/> 1302 </front> 1303 <seriesInfo name="STD" value="68"/> 1304 <seriesInfo name="RFC" value="5234"/> 1305 </reference> 1306 1260 1307 </references> 1261 1308 -
draft-ietf-httpbis/latest/p5-range.html
r424 r425 590 590 </p> 591 591 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 592 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 592 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 593 (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), VCHAR (any visible USASCII character), 594 and WSP (whitespace). 593 595 </p> 594 596 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 595 597 <p id="rfc.section.1.2.1.p.1">The core rules below are defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: 596 598 </p> 597 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">CHAR</a> = <CHAR, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 598 <a href="#core.rules" class="smpl">DIGIT</a> = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 599 <a href="#core.rules" class="smpl">SP</a> = <SP, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 600 </pre><div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 601 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 599 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 600 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 602 601 </pre><h3 id="rfc.section.1.2.2"><a href="#rfc.section.1.2.2">1.2.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 603 602 <p id="rfc.section.1.2.2.p.1">The ABNF rules below are defined in other parts:</p> 604 <div id="rfc.figure.u. 3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>>605 </pre><div id="rfc.figure.u. 4"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">entity-tag</a> = <entity-tag, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#entity.tags" title="Entity Tags">Section 2</a>>603 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>> 604 </pre><div id="rfc.figure.u.3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">entity-tag</a> = <entity-tag, defined in <a href="#Part4" id="rfc.xref.Part4.1"><cite title="HTTP/1.1, part 4: Conditional Requests">[Part4]</cite></a>, <a href="p4-conditional.html#entity.tags" title="Entity Tags">Section 2</a>> 606 605 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="range.units" href="#range.units">Range Units</a></h1> 607 606 <p id="rfc.section.2.p.1">HTTP/1.1 allows a client to request that only part (a range of) the response entity be included within the response. HTTP/1.1 608 607 uses range units in the Range (<a href="#header.range" id="rfc.xref.header.range.1" title="Range">Section 5.4</a>) and Content-Range (<a href="#header.content-range" id="rfc.xref.header.content-range.1" title="Content-Range">Section 5.2</a>) header fields. An entity can be broken down into subranges according to various structural units. 609 608 </p> 610 <div id="rfc.figure.u. 5"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#range.units" class="smpl">range-unit</a> = <a href="#range.units" class="smpl">bytes-unit</a> / <a href="#range.units" class="smpl">other-range-unit</a>609 <div id="rfc.figure.u.4"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span><span id="rfc.iref.g.3"></span> <a href="#range.units" class="smpl">range-unit</a> = <a href="#range.units" class="smpl">bytes-unit</a> / <a href="#range.units" class="smpl">other-range-unit</a> 611 610 <a href="#range.units" class="smpl">bytes-unit</a> = "bytes" 612 611 <a href="#range.units" class="smpl">other-range-unit</a> = <a href="#core.rules" class="smpl">token</a> … … 676 675 <h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a> <a id="header.accept-ranges" href="#header.accept-ranges">Accept-Ranges</a></h2> 677 676 <p id="rfc.section.5.1.p.1">The response-header "Accept-Ranges" field allows the server to indicate its acceptance of range requests for a resource:</p> 678 <div id="rfc.figure.u. 6"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = "Accept-Ranges" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.accept-ranges" class="smpl">Accept-Ranges-v</a>677 <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = "Accept-Ranges" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.accept-ranges" class="smpl">Accept-Ranges-v</a> 679 678 <a href="#header.accept-ranges" class="smpl">Accept-Ranges-v</a> = <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> 680 679 <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> = 1#<a href="#range.units" class="smpl">range-unit</a> / "none" 681 680 </pre><p id="rfc.section.5.1.p.3">Origin servers that accept byte-range requests <em class="bcp14">MAY</em> send 682 681 </p> 683 <div id="rfc.figure.u. 7"></div><pre class="text"> Accept-Ranges: bytes682 <div id="rfc.figure.u.6"></div><pre class="text"> Accept-Ranges: bytes 684 683 </pre><p id="rfc.section.5.1.p.5">but are not required to do so. Clients <em class="bcp14">MAY</em> generate range requests without having received this header for the resource involved. Range units are defined in <a href="#range.units" title="Range Units">Section 2</a>. 685 684 </p> 686 685 <p id="rfc.section.5.1.p.6">Servers that do not accept any kind of range request for a resource <em class="bcp14">MAY</em> send 687 686 </p> 688 <div id="rfc.figure.u. 8"></div><pre class="text"> Accept-Ranges: none687 <div id="rfc.figure.u.7"></div><pre class="text"> Accept-Ranges: none 689 688 </pre><p id="rfc.section.5.1.p.8">to advise the client not to attempt a range request.</p> 690 689 <div id="rfc.iref.c.1"></div> … … 694 693 body should be applied. Range units are defined in <a href="#range.units" title="Range Units">Section 2</a>. 695 694 </p> 696 <div id="rfc.figure.u. 9"></div><pre class="inline"><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span> <a href="#header.content-range" class="smpl">Content-Range</a> = "Content-Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-range" class="smpl">Content-Range-v</a>695 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span> <a href="#header.content-range" class="smpl">Content-Range</a> = "Content-Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-range" class="smpl">Content-Range-v</a> 697 696 <a href="#header.content-range" class="smpl">Content-Range-v</a> = <a href="#header.content-range" class="smpl">content-range-spec</a> 698 697 699 698 <a href="#header.content-range" class="smpl">content-range-spec</a> = <a href="#header.content-range" class="smpl">byte-content-range-spec</a> 700 699 / <a href="#header.content-range" class="smpl">other-content-range-spec</a> 701 <a href="#header.content-range" class="smpl">byte-content-range-spec</a> = <a href="#range.units" class="smpl">bytes-unit</a> <a href="# core.rules" class="smpl">SP</a>700 <a href="#header.content-range" class="smpl">byte-content-range-spec</a> = <a href="#range.units" class="smpl">bytes-unit</a> <a href="#notation" class="smpl">SP</a> 702 701 <a href="#header.content-range" class="smpl">byte-range-resp-spec</a> "/" 703 702 ( <a href="#header.content-range" class="smpl">instance-length</a> / "*" ) … … 706 705 / "*" 707 706 708 <a href="#header.content-range" class="smpl">instance-length</a> = 1*<a href="# core.rules" class="smpl">DIGIT</a>707 <a href="#header.content-range" class="smpl">instance-length</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 709 708 710 <a href="#header.content-range" class="smpl">other-content-range-spec</a> = <a href="#range.units" class="smpl">other-range-unit</a> <a href="# core.rules" class="smpl">SP</a>709 <a href="#header.content-range" class="smpl">other-content-range-spec</a> = <a href="#range.units" class="smpl">other-range-unit</a> <a href="#notation" class="smpl">SP</a> 711 710 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> 712 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> = *<a href="# core.rules" class="smpl">CHAR</a>711 <a href="#header.content-range" class="smpl">other-range-resp-spec</a> = *<a href="#notation" class="smpl">CHAR</a> 713 712 </pre><p id="rfc.section.5.2.p.3">The header <em class="bcp14">SHOULD</em> indicate the total length of the full entity-body, unless this length is unknown or difficult to determine. The asterisk "*" 714 713 character means that the instance-length is unknown at the time when the response was generated. … … 725 724 <ul> 726 725 <li>The first 500 bytes: 727 <div id="rfc.figure.u. 10"></div><pre class="text"> bytes 0-499/1234726 <div id="rfc.figure.u.9"></div><pre class="text"> bytes 0-499/1234 728 727 </pre> </li> 729 728 <li>The second 500 bytes: 730 <div id="rfc.figure.u.1 1"></div><pre class="text"> bytes 500-999/1234729 <div id="rfc.figure.u.10"></div><pre class="text"> bytes 500-999/1234 731 730 </pre> </li> 732 731 <li>All except for the first 500 bytes: 733 <div id="rfc.figure.u.1 2"></div><pre class="text"> bytes 500-1233/1234732 <div id="rfc.figure.u.11"></div><pre class="text"> bytes 500-1233/1234 734 733 </pre> </li> 735 734 <li>The last 500 bytes: 736 <div id="rfc.figure.u.1 3"></div><pre class="text"> bytes 734-1233/1234735 <div id="rfc.figure.u.12"></div><pre class="text"> bytes 734-1233/1234 737 736 </pre> </li> 738 737 </ul> … … 741 740 a Content-Length header showing the number of bytes actually transferred. For example, 742 741 </p> 743 <div id="rfc.figure.u.1 4"></div><pre class="text"> HTTP/1.1 206 Partial Content742 <div id="rfc.figure.u.13"></div><pre class="text"> HTTP/1.1 206 Partial Content 744 743 Date: Wed, 15 Nov 1995 06:25:24 GMT 745 744 Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT … … 778 777 is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new entity'. 779 778 </p> 780 <div id="rfc.figure.u.1 5"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span> <a href="#header.if-range" class="smpl">If-Range</a> = "If-Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-range" class="smpl">If-Range-v</a>779 <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span> <a href="#header.if-range" class="smpl">If-Range</a> = "If-Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-range" class="smpl">If-Range-v</a> 781 780 <a href="#header.if-range" class="smpl">If-Range-v</a> = <a href="#abnf.dependencies" class="smpl">entity-tag</a> / <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 782 781 </pre><p id="rfc.section.5.3.p.4">If the client has no entity tag for an entity, but does have a Last-Modified date, it <em class="bcp14">MAY</em> use that date in an If-Range header. (The server can distinguish between a valid HTTP-date and any form of entity-tag by examining … … 798 797 </p> 799 798 </div> 800 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a>799 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span> <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> 801 800 <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a> = 1#( <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> / <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> ) 802 801 <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> = <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> "-" [<a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a>] 803 <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> = 1*<a href="# core.rules" class="smpl">DIGIT</a>804 <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a> = 1*<a href="# core.rules" class="smpl">DIGIT</a>802 <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 803 <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 805 804 </pre><p id="rfc.section.5.4.1.p.5">The first-byte-pos value in a byte-range-spec gives the byte-offset of the first byte in a range. The last-byte-pos value 806 805 gives the byte-offset of the last byte in the range; that is, the byte positions specified are inclusive. Byte offsets start … … 814 813 </p> 815 814 <p id="rfc.section.5.4.1.p.8">By its choice of last-byte-pos, a client can limit the number of bytes retrieved without knowing the size of the entity.</p> 816 <div id="rfc.figure.u.1 7"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span> <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> = "-" <a href="#rule.ranges-specifier" class="smpl">suffix-length</a>817 <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> = 1*<a href="# core.rules" class="smpl">DIGIT</a>815 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span> <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> = "-" <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> 816 <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 818 817 </pre><p id="rfc.section.5.4.1.p.10">A suffix-byte-range-spec is used to specify the suffix of the entity-body, of a length given by the suffix-length value. (That 819 818 is, this form specifies the last N bytes of an entity-body.) If the entity is shorter than the specified suffix-length, the … … 838 837 to the entity returned as the result of the request: 839 838 </p> 840 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.23"></span> <a href="#range.retrieval.requests" class="smpl">Range</a> = "Range" ":" <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a>839 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.23"></span> <a href="#range.retrieval.requests" class="smpl">Range</a> = "Range" ":" <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> 841 840 <a href="#rule.ranges-specifier" class="smpl">ranges-specifier</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> 842 841 / <a href="#rule.ranges-specifier" class="smpl">other-ranges-specifier</a> 843 <a href="#rule.ranges-specifier" class="smpl">other-ranges-specifier</a> = 1*<a href="# core.rules" class="smpl">CHAR</a>842 <a href="#rule.ranges-specifier" class="smpl">other-ranges-specifier</a> = 1*<a href="#notation" class="smpl">CHAR</a> 844 843 </pre><p id="rfc.section.5.4.2.p.3">A server <em class="bcp14">MAY</em> ignore the Range header. However, HTTP/1.1 origin servers and intermediate caches ought to support byte ranges when possible, 845 844 since Range supports efficient recovery from partially failed transfers, and supports efficient partial retrieval of large … … 910 909 <p id="rfc.section.6.1.p.2">The change controller is: "IETF (iesg@ietf.org) - Internet Engineering Task Force".</p> 911 910 <h1 id="rfc.section.7"><a href="#rfc.section.7">7.</a> <a id="security.considerations" href="#security.considerations">Security Considerations</a></h1> 912 <p id="rfc.section.7.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1. 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.911 <p id="rfc.section.7.p.1">No additional security considerations have been identified beyond those applicable to HTTP in general <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 913 912 </p> 914 913 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="ack" href="#ack">Acknowledgments</a></h1> … … 921 920 <h2 id="rfc.references.1"><a href="#rfc.section.9.1" id="rfc.section.9.1">9.1</a> Normative References 922 921 </h2> 923 <table summary="Normative References"> 922 <table summary="Normative References"> 924 923 <tr> 925 924 <td class="reference"><b id="Part1">[Part1]</b></td> … … 950 949 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 951 950 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 951 </td> 952 </tr> 953 <tr> 954 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 955 <td class="top"><a title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 952 956 </td> 953 957 </tr> … … 1037 1041 <dd>IESG</dd> 1038 1042 </dl> 1039 <div id="rfc.figure.u.1 9"></div>1043 <div id="rfc.figure.u.18"></div> 1040 1044 <p>For example:</p><pre class="text"> HTTP/1.1 206 Partial Content 1041 1045 Date: Wed, 15 Nov 1995 06:25:24 GMT … … 1066 1070 <p id="rfc.section.B.1.p.1">Transfer-coding and message lengths all interact in ways that required fixing exactly when chunked encoding is used (to allow 1067 1071 for transfer encoding that may not be self delimiting); it was important to straighten out exactly how message lengths are 1068 computed. (<a href="#header.content-range" id="rfc.xref.header.content-range.5" title="Content-Range">Section 5.2</a>, see also <a href="#Part1" id="rfc.xref.Part1. 10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>)1072 computed. (<a href="#header.content-range" id="rfc.xref.header.content-range.5" title="Content-Range">Section 5.2</a>, see also <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part6" id="rfc.xref.Part6.1"><cite title="HTTP/1.1, part 6: Caching">[Part6]</cite></a>) 1069 1073 </p> 1070 1074 <p id="rfc.section.B.1.p.2">There are situations where a server (especially a proxy) does not know the full length of a response but is capable of serving … … 1085 1089 </p> 1086 1090 <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1087 <div id="rfc.figure.u. 20"></div> <pre class="inline">Accept-Ranges = "Accept-Ranges:" OWS Accept-Ranges-v1091 <div id="rfc.figure.u.19"></div> <pre class="inline">Accept-Ranges = "Accept-Ranges:" OWS Accept-Ranges-v 1088 1092 Accept-Ranges-v = acceptable-ranges 1089 CHAR = <CHAR, defined in [Part1], Section 1.2.2>1090 1093 Content-Range = "Content-Range:" OWS Content-Range-v 1091 1094 Content-Range-v = content-range-spec 1092 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>1093 1095 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1> 1094 1096 If-Range = "If-Range:" OWS If-Range-v … … 1096 1098 OWS = <OWS, defined in [Part1], Section 1.2.2> 1097 1099 Range = "Range:" ranges-specifier 1098 SP = <SP, defined in [Part1], Section 1.2.2>1099 1100 acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS 1100 1101 range-unit ] ) ) / "none" … … 1288 1289 </li> 1289 1290 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 1290 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1.2</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2. 1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.9">7</a>, <a class="iref" href="#Part1"><b>9.1</b></a>, <a class="iref" href="#rfc.xref.Part1.10">B.1</a><ul class="ind">1291 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1.2</a>, <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.2.2</a>, <a class="iref" href="#rfc.xref.Part1.6">7</a>, <a class="iref" href="#Part1"><b>9.1</b></a>, <a class="iref" href="#rfc.xref.Part1.7">B.1</a><ul class="ind"> 1291 1292 <li class="indline1"><em>Section 1.2</em> <a class="iref" href="#rfc.xref.Part1.1">1.2</a></li> 1292 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a> , <a class="iref" href="#rfc.xref.Part1.5">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.2.1</a></li>1293 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1. 8">1.2.2</a></li>1293 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.2.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.2.1</a></li> 1294 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.5">1.2.2</a></li> 1294 1295 </ul> 1295 1296 </li> … … 1313 1314 <li class="indline1"><em>RFC3864</em> <a class="iref" href="#rfc.xref.RFC3864.1">6.1</a>, <a class="iref" href="#RFC3864"><b>9.2</b></a></li> 1314 1315 <li class="indline1"><em>RFC4288</em> <a class="iref" href="#RFC4288"><b>9.2</b></a>, <a class="iref" href="#rfc.xref.RFC4288.1">A</a></li> 1316 <li class="indline1"><em>RFC5234</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a>, <a class="iref" href="#RFC5234"><b>9.1</b></a><ul class="ind"> 1317 <li class="indline1"><em>Appendix B.1</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a></li> 1318 </ul> 1319 </li> 1315 1320 </ul> 1316 1321 </li> -
draft-ietf-httpbis/latest/p5-range.xml
r424 r425 252 252 253 253 <section title="Syntax Notation" anchor="notation"> 254 <x:anchor-alias value="ALPHA"/> 255 <x:anchor-alias value="CHAR"/> 256 <x:anchor-alias value="CR"/> 257 <x:anchor-alias value="DIGIT"/> 258 <x:anchor-alias value="LF"/> 259 <x:anchor-alias value="OCTET"/> 260 <x:anchor-alias value="SP"/> 261 <x:anchor-alias value="VCHAR"/> 262 <x:anchor-alias value="WSP"/> 254 263 <t> 255 264 This specification uses the ABNF syntax defined in ¬ation;. 265 The following core rules are included by 266 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 267 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 268 DIGIT (decimal 0-9), DQUOTE (double quote), 269 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 270 OCTET (any 8-bit sequence of data), SP (space), 271 VCHAR (any visible USASCII character), 272 and WSP (whitespace). 256 273 </t> 257 274 258 275 <section title="Core Rules" anchor="core.rules"> 259 <x:anchor-alias value="CHAR"/>260 <x:anchor-alias value="DIGIT"/>261 <x:anchor-alias value="SP"/>262 276 <x:anchor-alias value="token"/> 263 277 <x:anchor-alias value="OWS"/> … … 265 279 The core rules below are defined in &basic-rules;: 266 280 </t> 267 <figure><artwork type="abnf2616">268 <x:ref>CHAR</x:ref> = <CHAR, defined in &basic-rules;>269 <x:ref>DIGIT</x:ref> = <DIGIT, defined in &basic-rules;>270 <x:ref>SP</x:ref> = <SP, defined in &basic-rules;>271 </artwork></figure>272 281 <figure><artwork type="abnf2616"> 273 282 <x:ref>token</x:ref> = <token, defined in &basic-rules;> … … 1101 1110 </reference> 1102 1111 1112 <reference anchor="RFC5234"> 1113 <front> 1114 <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title> 1115 <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor"> 1116 <organization>Brandenburg InternetWorking</organization> 1117 <address> 1118 <postal> 1119 <street>675 Spruce Dr.</street> 1120 <city>Sunnyvale</city> 1121 <region>CA</region> 1122 <code>94086</code> 1123 <country>US</country></postal> 1124 <phone>+1.408.246.8253</phone> 1125 <email>dcrocker@bbiw.net</email></address> 1126 </author> 1127 <author initials="P." surname="Overell" fullname="Paul Overell"> 1128 <organization>THUS plc.</organization> 1129 <address> 1130 <postal> 1131 <street>1/2 Berkeley Square</street> 1132 <street>99 Berkely Street</street> 1133 <city>Glasgow</city> 1134 <code>G3 7HR</code> 1135 <country>UK</country></postal> 1136 <email>paul.overell@thus.net</email></address> 1137 </author> 1138 <date month="January" year="2008"/> 1139 </front> 1140 <seriesInfo name="STD" value="68"/> 1141 <seriesInfo name="RFC" value="5234"/> 1142 </reference> 1143 1103 1144 </references> 1104 1145 … … 1336 1377 <section title="Collected ABNF" anchor="collected.abnf"> 1337 1378 <figure> 1338 <artwork type="abnf" name="p5-range.parsed-abnf">Accept-Ranges = "Accept-Ranges:" OWS Accept-Ranges-v
 1339 Accept-Ranges-v = acceptable-ranges
 1340 CHAR = <CHAR, defined in [Part1], Section 1.2.2>
 1341 Content-Range = "Content-Range:" OWS Content-Range-v
 1342 Content-Range-v = content-range-spec
 1343 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>
 1344 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1>
 1345 If-Range = "If-Range:" OWS If-Range-v
 1346 If-Range-v = entity-tag / HTTP-date
 1347 OWS = <OWS, defined in [Part1], Section 1.2.2>
 1348 Range = "Range:" ranges-specifier
 1349 SP = <SP, defined in [Part1], Section 1.2.2>
 1350 acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS
 1351 range-unit ] ) ) / "none"
 1352 byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" (
 1353 instance-length / "*" )
 1354 byte-range-resp-spec = ( first-byte-pos "-" last-byte-pos ) / "*"
 1355 byte-range-set = ( *( "," OWS ) byte-range-spec ) / (
 1356 suffix-byte-range-spec *( OWS "," [ ( OWS byte-range-spec ) /
 1357 suffix-byte-range-spec ] ) )
 1358 byte-range-spec = first-byte-pos "-" [ last-byte-pos ]
 1359 byte-ranges-specifier = bytes-unit "=" byte-range-set
 1360 bytes-unit = "bytes"
 1361 content-range-spec = byte-content-range-spec /
 1362 other-content-range-spec
 1363 entity-tag = <entity-tag, defined in [Part4], Section 2>
 1364 first-byte-pos = 1*DIGIT
 1365 instance-length = 1*DIGIT
 1366 last-byte-pos = 1*DIGIT
 1367 other-content-range-spec = other-range-unit SP other-range-resp-spec
 1368 other-range-resp-spec = *CHAR
 1369 other-range-unit = token
 1370 other-ranges-specifier = 1*CHAR
 1371 range-unit = bytes-unit / other-range-unit
 1372 ranges-specifier = byte-ranges-specifier / other-ranges-specifier
 1373 suffix-byte-range-spec = "-" suffix-length
 1374 suffix-length = 1*DIGIT
 1375 token = <token, defined in [Part1], Section 1.2.2>
 1376 ; Accept-Ranges defined but not used
 1377 ; Content-Range defined but not used
 1378 ; If-Range defined but not used
 1379 ; Range defined but not used
 1379 <artwork type="abnf" name="p5-range.parsed-abnf"> 1380 Accept-Ranges = "Accept-Ranges:" OWS Accept-Ranges-v 1381 Accept-Ranges-v = acceptable-ranges 1382 Content-Range = "Content-Range:" OWS Content-Range-v 1383 Content-Range-v = content-range-spec 1384 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1> 1385 If-Range = "If-Range:" OWS If-Range-v 1386 If-Range-v = entity-tag / HTTP-date 1387 OWS = <OWS, defined in [Part1], Section 1.2.2> 1388 Range = "Range:" ranges-specifier 1389 acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS 1390 range-unit ] ) ) / "none" 1391 byte-content-range-spec = bytes-unit SP byte-range-resp-spec "/" ( 1392 instance-length / "*" ) 1393 byte-range-resp-spec = ( first-byte-pos "-" last-byte-pos ) / "*" 1394 byte-range-set = ( *( "," OWS ) byte-range-spec ) / ( 1395 suffix-byte-range-spec *( OWS "," [ ( OWS byte-range-spec ) / 1396 suffix-byte-range-spec ] ) ) 1397 byte-range-spec = first-byte-pos "-" [ last-byte-pos ] 1398 byte-ranges-specifier = bytes-unit "=" byte-range-set 1399 bytes-unit = "bytes" 1400 content-range-spec = byte-content-range-spec / 1401 other-content-range-spec 1402 entity-tag = <entity-tag, defined in [Part4], Section 2> 1403 first-byte-pos = 1*DIGIT 1404 instance-length = 1*DIGIT 1405 last-byte-pos = 1*DIGIT 1406 other-content-range-spec = other-range-unit SP other-range-resp-spec 1407 other-range-resp-spec = *CHAR 1408 other-range-unit = token 1409 other-ranges-specifier = 1*CHAR 1410 range-unit = bytes-unit / other-range-unit 1411 ranges-specifier = byte-ranges-specifier / other-ranges-specifier 1412 suffix-byte-range-spec = "-" suffix-length 1413 suffix-length = 1*DIGIT 1414 token = <token, defined in [Part1], Section 1.2.2> 1415 ; Accept-Ranges defined but not used 1416 ; Content-Range defined but not used 1417 ; If-Range defined but not used 1418 ; Range defined but not used 1380 1419 </artwork> 1381 1420 </figure> -
draft-ietf-httpbis/latest/p6-cache.html
r424 r425 723 723 </p> 724 724 <h2 id="rfc.section.1.4"><a href="#rfc.section.1.4">1.4</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 725 <p id="rfc.section.1.4.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 725 <p id="rfc.section.1.4.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 726 (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), VCHAR (any visible USASCII character), 727 and WSP (whitespace). 726 728 </p> 727 729 <h3 id="rfc.section.1.4.1"><a href="#rfc.section.1.4.1">1.4.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> 728 730 <p id="rfc.section.1.4.1.p.1">The core rules below are defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: 729 731 </p> 730 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">DIGIT</a> = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 731 <a href="#core.rules" class="smpl">DQUOTE</a> = <DQUOTE, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 732 <a href="#core.rules" class="smpl">SP</a> = <SP, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 733 </pre><div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 734 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 735 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 732 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#core.rules" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 733 <a href="#core.rules" class="smpl">token</a> = <token, defined in <a href="#Part1" id="rfc.xref.Part1.4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 734 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in <a href="#Part1" id="rfc.xref.Part1.5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 1.2.2</a>> 736 735 </pre><h3 id="rfc.section.1.4.2"><a href="#rfc.section.1.4.2">1.4.2</a> <a id="abnf.dependencies" href="#abnf.dependencies">ABNF Rules defined in other Parts of the Specification</a></h3> 737 736 <p id="rfc.section.1.4.2.p.1">The ABNF rules below are defined in other parts:</p> 738 <div id="rfc.figure.u. 3"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">field-name</a> = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a>>739 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1. 10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>>740 <a href="#abnf.dependencies" class="smpl">port</a> = <port, defined in <a href="#Part1" id="rfc.xref.Part1. 11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>741 <a href="#abnf.dependencies" class="smpl">pseudonym</a> = <pseudonym, defined in <a href="#Part1" id="rfc.xref.Part1. 12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a>>742 <a href="#abnf.dependencies" class="smpl">uri-host</a> = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.1 3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>>737 <div id="rfc.figure.u.2"></div><pre class="inline"> <a href="#abnf.dependencies" class="smpl">field-name</a> = <field-name, defined in <a href="#Part1" id="rfc.xref.Part1.6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a>> 738 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in <a href="#Part1" id="rfc.xref.Part1.7"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a>> 739 <a href="#abnf.dependencies" class="smpl">port</a> = <port, defined in <a href="#Part1" id="rfc.xref.Part1.8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 740 <a href="#abnf.dependencies" class="smpl">pseudonym</a> = <pseudonym, defined in <a href="#Part1" id="rfc.xref.Part1.9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#header.via" title="Via">Section 8.9</a>> 741 <a href="#abnf.dependencies" class="smpl">uri-host</a> = <uri-host, defined in <a href="#Part1" id="rfc.xref.Part1.10"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.1</a>> 743 742 </pre><h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="caching.overview" href="#caching.overview">Overview</a></h1> 744 743 <h2 id="rfc.section.2.1"><a href="#rfc.section.2.1">2.1</a> <a id="cache.correctness" href="#cache.correctness">Cache Correctness</a></h2> … … 881 880 </p> 882 881 <p id="rfc.section.3.3.p.3">HTTP/1.1 requires origin servers to send a Date header, if possible, with every response, giving the time at which the response 883 was generated (see <a href="p1-messaging.html#header.date" title="Date">Section 8.3</a> of <a href="#Part1" id="rfc.xref.Part1.1 4"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). We use the term "date_value" to denote the value of the Date header, in a form appropriate for arithmetic operations.882 was generated (see <a href="p1-messaging.html#header.date" title="Date">Section 8.3</a> of <a href="#Part1" id="rfc.xref.Part1.11"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). We use the term "date_value" to denote the value of the Date header, in a form appropriate for arithmetic operations. 884 883 </p> 885 884 <p id="rfc.section.3.3.p.4">HTTP/1.1 uses the Age response-header to convey the estimated age of the response message when obtained from a cache. The … … 899 898 </ol> 900 899 <p id="rfc.section.3.3.p.8">Given that we have two independent ways to compute the age of a response when it is received, we can combine these as</p> 901 <div id="rfc.figure.u. 4"></div><pre class="text"> corrected_received_age = max(now - date_value, age_value)900 <div id="rfc.figure.u.3"></div><pre class="text"> corrected_received_age = max(now - date_value, age_value) 902 901 </pre><p id="rfc.section.3.3.p.10">and as long as we have either nearly synchronized clocks or all-HTTP/1.1 paths, one gets a reliable (conservative) result.</p> 903 902 <p id="rfc.section.3.3.p.11">Because of network-imposed delays, some significant interval might pass between the time that a server generates a response … … 910 909 results in conservative behavior no matter how much delay is experienced. So, we compute: 911 910 </p> 912 <div id="rfc.figure.u. 5"></div><pre class="text"> corrected_initial_age = corrected_received_age911 <div id="rfc.figure.u.4"></div><pre class="text"> corrected_initial_age = corrected_received_age 913 912 + (now - request_time) 914 913 </pre><p id="rfc.section.3.3.p.14">where "request_time" is the time (according to the local clock) when the request that elicited this response was sent.</p> 915 914 <p id="rfc.section.3.3.p.15">Summary of age calculation algorithm, when a cache receives a response:</p> 916 <div id="rfc.figure.u. 6"></div><pre class="text"> /*915 <div id="rfc.figure.u.5"></div><pre class="text"> /* 917 916 * age_value 918 917 * is the value of Age: header received by the cache with … … 952 951 </p> 953 952 <p id="rfc.section.3.4.p.3">The max-age directive takes priority over Expires, so if max-age is present in a response, the calculation is simply:</p> 954 <div id="rfc.figure.u. 7"></div><pre class="text"> freshness_lifetime = max_age_value953 <div id="rfc.figure.u.6"></div><pre class="text"> freshness_lifetime = max_age_value 955 954 </pre><p id="rfc.section.3.4.p.5">Otherwise, if Expires is present in the response, the calculation is:</p> 956 <div id="rfc.figure.u. 8"></div><pre class="text"> freshness_lifetime = expires_value - date_value955 <div id="rfc.figure.u.7"></div><pre class="text"> freshness_lifetime = expires_value - date_value 957 956 </pre><p id="rfc.section.3.4.p.7">Note that neither of these calculations is vulnerable to clock skew, since all of the information comes from the origin server.</p> 958 957 <p id="rfc.section.3.4.p.8">If none of Expires, Cache-Control: max-age, or Cache-Control: s-maxage (see <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 15.2.3</a>) appears in the response, and the response does not include other restrictions on caching, the cache <em class="bcp14">MAY</em> compute a freshness lifetime using a heuristic. The cache <em class="bcp14">MUST</em> attach Warning 113 to any response whose age is more than 24 hours if such warning has not already been added. … … 961 960 </p> 962 961 <p id="rfc.section.3.4.p.10">The calculation to determine if a response has expired is quite simple:</p> 963 <div id="rfc.figure.u. 9"></div><pre class="text"> response_is_fresh = (freshness_lifetime > current_age)962 <div id="rfc.figure.u.8"></div><pre class="text"> response_is_fresh = (freshness_lifetime > current_age) 964 963 </pre><h2 id="rfc.section.3.5"><a href="#rfc.section.3.5">3.5</a> <a id="disambiguating.expiration.values" href="#disambiguating.expiration.values">Disambiguating Expiration Values</a></h2> 965 964 <p id="rfc.section.3.5.p.1">Because expiration values are assigned optimistically, it is possible for two caches to contain fresh values for the same … … 984 983 than the one for the existing entry, then the client <em class="bcp14">SHOULD</em> repeat the request unconditionally, and include 985 984 </p> 986 <div id="rfc.figure.u. 10"></div><pre class="text"> Cache-Control: max-age=0985 <div id="rfc.figure.u.9"></div><pre class="text"> Cache-Control: max-age=0 987 986 </pre><p id="rfc.section.3.6.p.5">to force any intermediate caches to validate their copies directly with the origin server, or</p> 988 <div id="rfc.figure.u.1 1"></div><pre class="text"> Cache-Control: no-cache987 <div id="rfc.figure.u.10"></div><pre class="text"> Cache-Control: no-cache 989 988 </pre><p id="rfc.section.3.6.p.7">to force any intermediate caches to obtain a new copy from the origin server.</p> 990 989 <p id="rfc.section.3.6.p.8">If the Date values are equal, then the client <em class="bcp14">MAY</em> use either response (or <em class="bcp14">MAY</em>, if it is being extremely prudent, request a new response). Servers <em class="bcp14">MUST NOT</em> depend on clients being able to choose deterministically between responses generated during the same second, if their expiration … … 1053 1052 </ul> 1054 1053 <p id="rfc.section.6.1.p.3">All other headers defined by HTTP/1.1 are end-to-end headers.</p> 1055 <p id="rfc.section.6.1.p.4">Other hop-by-hop headers <em class="bcp14">MUST</em> be listed in a Connection header (<a href="p1-messaging.html#header.connection" title="Connection">Section 8.1</a> of <a href="#Part1" id="rfc.xref.Part1.1 5"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).1054 <p id="rfc.section.6.1.p.4">Other hop-by-hop headers <em class="bcp14">MUST</em> be listed in a Connection header (<a href="p1-messaging.html#header.connection" title="Connection">Section 8.1</a> of <a href="#Part1" id="rfc.xref.Part1.12"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1056 1055 </p> 1057 1056 <h2 id="rfc.section.6.2"><a href="#rfc.section.6.2">6.2</a> <a id="non-modifiable.headers" href="#non-modifiable.headers">Non-modifiable Headers</a></h2> … … 1088 1087 </dd> 1089 1088 </dl> 1090 <p id="rfc.section.6.2.p.7">The Content-Length field of a request or response is added or deleted according to the rules in <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.1 6"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. A transparent proxy <em class="bcp14">MUST</em> preserve the entity-length (<a href="p3-payload.html#entity.length" title="Entity Length">Section 3.2.2</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) of the entity-body, although it <em class="bcp14">MAY</em> change the transfer-length (<a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>).1089 <p id="rfc.section.6.2.p.7">The Content-Length field of a request or response is added or deleted according to the rules in <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.13"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. A transparent proxy <em class="bcp14">MUST</em> preserve the entity-length (<a href="p3-payload.html#entity.length" title="Entity Length">Section 3.2.2</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) of the entity-body, although it <em class="bcp14">MAY</em> change the transfer-length (<a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.14"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1091 1090 </p> 1092 1091 <h2 id="rfc.section.6.3"><a href="#rfc.section.6.3">6.3</a> <a id="combining.headers" href="#combining.headers">Combining Headers</a></h2> … … 1136 1135 request can be transformed to the selecting request-headers in the second request by adding or removing linear whitespace 1137 1136 (LWS) at places where this is allowed by the corresponding BNF, and/or combining multiple message-header fields with the same 1138 field name following the rules about message headers in <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a> of <a href="#Part1" id="rfc.xref.Part1.1 8"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>.1137 field name following the rules about message headers in <a href="p1-messaging.html#message.headers" title="Message Headers">Section 4.2</a> of <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 1139 1138 </p> 1140 1139 <p id="rfc.section.7.p.5">A Vary header field-value of "*" always fails to match and subsequent requests on that resource can only be properly interpreted … … 1251 1250 are calculated as specified in <a href="#age.calculations" title="Age Calculations">Section 3.3</a>. 1252 1251 </p> 1253 <div id="rfc.figure.u.1 2"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span> <a href="#header.age" class="smpl">Age</a> = "Age" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.age" class="smpl">Age-v</a>1252 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span> <a href="#header.age" class="smpl">Age</a> = "Age" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.age" class="smpl">Age-v</a> 1254 1253 <a href="#header.age" class="smpl">Age-v</a> = <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> 1255 1254 </pre><div id="rule.delta-seconds"> 1256 1255 <p id="rfc.section.15.1.p.3"> Age values are non-negative decimal integers, representing time in seconds.</p> 1257 1256 </div> 1258 <div id="rfc.figure.u.1 3"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#core.rules" class="smpl">DIGIT</a>1257 <div id="rfc.figure.u.12"></div><pre class="inline"><span id="rfc.iref.g.3"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 1259 1258 </pre><p id="rfc.section.15.1.p.5">If a cache receives a value larger than the largest positive integer it can represent, or if any of its age calculations overflows, 1260 1259 it <em class="bcp14">MUST</em> transmit an Age header with a value of 2147483648 (2<sup>31</sup>). An HTTP/1.1 server that includes a cache <em class="bcp14">MUST</em> include an Age header field in every response generated from its own cache. Caches <em class="bcp14">SHOULD</em> use an arithmetic type of at least 31 bits of range. … … 1276 1275 a specific cache. 1277 1276 </p> 1278 <div id="rfc.figure.u.1 4"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#header.cache-control" class="smpl">Cache-Control</a> = "Cache-Control" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.cache-control" class="smpl">Cache-Control-v</a>1277 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span> <a href="#header.cache-control" class="smpl">Cache-Control</a> = "Cache-Control" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.cache-control" class="smpl">Cache-Control-v</a> 1279 1278 <a href="#header.cache-control" class="smpl">Cache-Control-v</a> = 1#<a href="#header.cache-control" class="smpl">cache-directive</a> 1280 1279 … … 1294 1293 <a href="#header.cache-control" class="smpl">cache-response-directive</a> = 1295 1294 "public" ; <a href="#what.is.cacheable" title="What is Cacheable">Section 15.2.1</a> 1296 / "private" [ "=" <a href="# core.rules" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#core.rules" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 15.2.1</a>1297 / "no-cache" [ "=" <a href="# core.rules" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#core.rules" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 15.2.1</a>1295 / "private" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 15.2.1</a> 1296 / "no-cache" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] ; <a href="#what.is.cacheable" title="What is Cacheable">Section 15.2.1</a> 1298 1297 / "no-store" ; <a href="#what.may.be.stored.by.caches" title="What May be Stored by Caches">Section 15.2.2</a> 1299 1298 / "no-transform" ; <a href="#no-transform.directive" title="No-Transform Directive">Section 15.2.5</a> … … 1561 1560 an otherwise private response in their shared cache(s) could do so by including 1562 1561 </p> 1563 <div id="rfc.figure.u.1 5"></div><pre class="text"> Cache-Control: private, community="UCI"1562 <div id="rfc.figure.u.14"></div><pre class="text"> Cache-Control: private, community="UCI" 1564 1563 </pre><p id="rfc.section.15.2.6.p.5">A cache seeing this header field will act correctly even if the cache does not understand the community cache-extension, since 1565 1564 it will also see and understand the private directive and thus default to the safe behavior. … … 1579 1578 that time. 1580 1579 </p> 1581 <p id="rfc.section.15.3.p.3">The format is an absolute date and time as defined by HTTP-date in <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.1 9"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format.1582 </p> 1583 <div id="rfc.figure.u.1 6"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> <a href="#header.expires" class="smpl">Expires</a> = "Expires" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.expires" class="smpl">Expires-v</a>1580 <p id="rfc.section.15.3.p.3">The format is an absolute date and time as defined by HTTP-date in <a href="p1-messaging.html#full.date" title="Full Date">Section 3.2.1</a> of <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>; it <em class="bcp14">MUST</em> be sent in rfc1123-date format. 1581 </p> 1582 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span> <a href="#header.expires" class="smpl">Expires</a> = "Expires" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.expires" class="smpl">Expires-v</a> 1584 1583 <a href="#header.expires" class="smpl">Expires-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 1585 1584 </pre><p id="rfc.section.15.3.p.5">An example of its use is</p> 1586 <div id="rfc.figure.u.1 7"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT1585 <div id="rfc.figure.u.16"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT 1587 1586 </pre><p id="rfc.section.15.3.p.7"> </p> 1588 1587 <dl class="empty"> … … 1609 1608 some systems <em class="bcp14">MAY</em> require that behavior be consistent with the directives. 1610 1609 </p> 1611 <div id="rfc.figure.u.1 8"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#header.pragma" class="smpl">Pragma</a> = "Pragma" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.pragma" class="smpl">Pragma-v</a>1610 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span> <a href="#header.pragma" class="smpl">Pragma</a> = "Pragma" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.pragma" class="smpl">Pragma-v</a> 1612 1611 <a href="#header.pragma" class="smpl">Pragma-v</a> = 1#<a href="#header.pragma" class="smpl">pragma-directive</a> 1613 1612 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> … … 1637 1636 response is the appropriate representation. See <a href="#caching.negotiated.responses" title="Caching Negotiated Responses">Section 7</a> for use of the Vary header field by caches. 1638 1637 </p> 1639 <div id="rfc.figure.u.1 9"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> <a href="#header.vary" class="smpl">Vary</a> = "Vary" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.vary" class="smpl">Vary-v</a>1638 <div id="rfc.figure.u.18"></div><pre class="inline"><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> <a href="#header.vary" class="smpl">Vary</a> = "Vary" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.vary" class="smpl">Vary-v</a> 1640 1639 <a href="#header.vary" class="smpl">Vary-v</a> = "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a> 1641 1640 </pre><p id="rfc.section.15.5.p.3">An HTTP/1.1 server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to server-driven negotiation. Doing so allows a cache … … 1663 1662 </p> 1664 1663 <p id="rfc.section.15.6.p.2">Warning headers are sent with responses using:</p> 1665 <div id="rfc.figure.u. 20"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#header.warning" class="smpl">Warning</a> = "Warning" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.warning" class="smpl">Warning-v</a>1664 <div id="rfc.figure.u.19"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span><span id="rfc.iref.g.24"></span> <a href="#header.warning" class="smpl">Warning</a> = "Warning" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.warning" class="smpl">Warning-v</a> 1666 1665 <a href="#header.warning" class="smpl">Warning-v</a> = 1#<a href="#header.warning" class="smpl">warning-value</a> 1667 1666 1668 <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="# core.rules" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#core.rules" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a>1669 [<a href="# core.rules" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-date</a>]1667 <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a> 1668 [<a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-date</a>] 1670 1669 1671 <a href="#header.warning" class="smpl">warn-code</a> = 3<a href="# core.rules" class="smpl">DIGIT</a>1670 <a href="#header.warning" class="smpl">warn-code</a> = 3<a href="#notation" class="smpl">DIGIT</a> 1672 1671 <a href="#header.warning" class="smpl">warn-agent</a> = ( <a href="#abnf.dependencies" class="smpl">uri-host</a> [ ":" <a href="#abnf.dependencies" class="smpl">port</a> ] ) / <a href="#abnf.dependencies" class="smpl">pseudonym</a> 1673 1672 ; the name or pseudonym of the server adding 1674 1673 ; the Warning header, for use in debugging 1675 1674 <a href="#header.warning" class="smpl">warn-text</a> = <a href="#core.rules" class="smpl">quoted-string</a> 1676 <a href="#header.warning" class="smpl">warn-date</a> = <a href="# core.rules" class="smpl">DQUOTE</a> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> <a href="#core.rules" class="smpl">DQUOTE</a>1675 <a href="#header.warning" class="smpl">warn-date</a> = <a href="#notation" class="smpl">DQUOTE</a> <a href="#abnf.dependencies" class="smpl">HTTP-date</a> <a href="#notation" class="smpl">DQUOTE</a> 1677 1676 </pre><p id="rfc.section.15.6.p.4">A response <em class="bcp14">MAY</em> carry more than one Warning header. 1678 1677 </p> … … 1824 1823 <h2 id="rfc.references.1"><a href="#rfc.section.19.1" id="rfc.section.19.1">19.1</a> Normative References 1825 1824 </h2> 1826 <table summary="Normative References"> 1825 <table summary="Normative References"> 1827 1826 <tr> 1828 1827 <td class="reference"><b id="ISO-8859-1">[ISO-8859-1]</b></td> … … 1870 1869 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1871 1870 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1871 </td> 1872 </tr> 1873 <tr> 1874 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 1875 <td class="top"><a title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 1872 1876 </td> 1873 1877 </tr> … … 1914 1918 <p id="rfc.section.A.1.p.2">Transfer-coding and message lengths all interact in ways that required fixing exactly when chunked encoding is used (to allow 1915 1919 for transfer encoding that may not be self delimiting); it was important to straighten out exactly how message lengths are 1916 computed. (<a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 6.2</a>, see also <a href="#Part1" id="rfc.xref.Part1. 20"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>)1920 computed. (<a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 6.2</a>, see also <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="#Part3" id="rfc.xref.Part3.3"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a> and <a href="#Part5" id="rfc.xref.Part5.3"><cite title="HTTP/1.1, part 5: Range Requests and Partial Responses">[Part5]</cite></a>) 1917 1921 </p> 1918 1922 <p id="rfc.section.A.1.p.3">Proxies should be able to add Content-Length when appropriate. (<a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 6.2</a>) … … 1929 1933 </p> 1930 1934 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1931 <div id="rfc.figure.u.2 1"></div> <pre class="inline">Age = "Age:" OWS Age-v1935 <div id="rfc.figure.u.20"></div> <pre class="inline">Age = "Age:" OWS Age-v 1932 1936 Age-v = delta-seconds 1933 1937 Cache-Control = "Cache-Control:" OWS Cache-Control-v 1934 1938 Cache-Control-v = *( "," OWS ) cache-directive *( OWS "," [ OWS 1935 1939 cache-directive ] ) 1936 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>1937 DQUOTE = <DQUOTE, defined in [Part1], Section 1.2.2>1938 1940 Expires = "Expires:" OWS Expires-v 1939 1941 Expires-v = HTTP-date … … 1943 1945 Pragma-v = *( "," OWS ) pragma-directive *( OWS "," [ OWS 1944 1946 pragma-directive ] ) 1945 SP = <SP, defined in [Part1], Section 1.2.2>1946 1947 Vary = "Vary:" OWS Vary-v 1947 1948 Vary-v = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name … … 2221 2222 </li> 2222 2223 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind"> 2223 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1.4</a>, <a class="iref" href="#rfc.xref.Part1.2">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.4. 1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.9">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.10">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.11">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.12">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.13">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.14">3.3</a>, <a class="iref" href="#rfc.xref.Part1.15">6.1</a>, <a class="iref" href="#rfc.xref.Part1.16">6.2</a>, <a class="iref" href="#rfc.xref.Part1.17">6.2</a>, <a class="iref" href="#rfc.xref.Part1.18">7</a>, <a class="iref" href="#rfc.xref.Part1.19">15.3</a>, <a class="iref" href="#Part1"><b>19.1</b></a>, <a class="iref" href="#rfc.xref.Part1.20">A.1</a><ul class="ind">2224 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">1.4</a>, <a class="iref" href="#rfc.xref.Part1.2">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.6">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.7">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.8">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.9">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.10">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.11">3.3</a>, <a class="iref" href="#rfc.xref.Part1.12">6.1</a>, <a class="iref" href="#rfc.xref.Part1.13">6.2</a>, <a class="iref" href="#rfc.xref.Part1.14">6.2</a>, <a class="iref" href="#rfc.xref.Part1.15">7</a>, <a class="iref" href="#rfc.xref.Part1.16">15.3</a>, <a class="iref" href="#Part1"><b>19.1</b></a>, <a class="iref" href="#rfc.xref.Part1.17">A.1</a><ul class="ind"> 2224 2225 <li class="indline1"><em>Section 1.2</em> <a class="iref" href="#rfc.xref.Part1.1">1.4</a></li> 2225 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.4.1</a> , <a class="iref" href="#rfc.xref.Part1.6">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.7">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.8">1.4.1</a></li>2226 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1. 11">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.13">1.4.2</a></li>2227 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1. 10">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.19">15.3</a></li>2228 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1. 9">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.18">7</a></li>2229 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.1 6">6.2</a>, <a class="iref" href="#rfc.xref.Part1.17">6.2</a></li>2230 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.1 5">6.1</a></li>2231 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.1 4">3.3</a></li>2232 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1. 12">1.4.2</a></li>2226 <li class="indline1"><em>Section 1.2.2</em> <a class="iref" href="#rfc.xref.Part1.2">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.3">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.4">1.4.1</a>, <a class="iref" href="#rfc.xref.Part1.5">1.4.1</a></li> 2227 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.8">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.10">1.4.2</a></li> 2228 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.7">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.16">15.3</a></li> 2229 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1.6">1.4.2</a>, <a class="iref" href="#rfc.xref.Part1.15">7</a></li> 2230 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.13">6.2</a>, <a class="iref" href="#rfc.xref.Part1.14">6.2</a></li> 2231 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.12">6.1</a></li> 2232 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.11">3.3</a></li> 2233 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.9">1.4.2</a></li> 2233 2234 </ul> 2234 2235 </li> … … 2275 2276 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#RFC2616"><b>19.2</b></a>, <a class="iref" href="#rfc.xref.RFC2616.1">C.1</a></li> 2276 2277 <li class="indline1"><em>RFC3864</em> <a class="iref" href="#rfc.xref.RFC3864.1">16.1</a>, <a class="iref" href="#RFC3864"><b>19.2</b></a></li> 2278 <li class="indline1"><em>RFC5234</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.4</a>, <a class="iref" href="#RFC5234"><b>19.1</b></a><ul class="ind"> 2279 <li class="indline1"><em>Appendix B.1</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.4</a></li> 2280 </ul> 2281 </li> 2277 2282 </ul> 2278 2283 </li> -
draft-ietf-httpbis/latest/p6-cache.xml
r424 r425 425 425 426 426 <section title="Syntax Notation" anchor="notation"> 427 <t> 428 This specification uses the ABNF syntax defined in ¬ation;. 429 </t> 430 431 <section title="Core Rules" anchor="core.rules"> 427 <x:anchor-alias value="ALPHA"/> 428 <x:anchor-alias value="CR"/> 432 429 <x:anchor-alias value="DIGIT"/> 433 430 <x:anchor-alias value="DQUOTE"/> 431 <x:anchor-alias value="LF"/> 432 <x:anchor-alias value="OCTET"/> 433 <x:anchor-alias value="SP"/> 434 <x:anchor-alias value="VCHAR"/> 435 <x:anchor-alias value="WSP"/> 436 <t> 437 This specification uses the ABNF syntax defined in ¬ation;. 438 The following core rules are included by 439 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 440 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 441 DIGIT (decimal 0-9), DQUOTE (double quote), 442 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 443 OCTET (any 8-bit sequence of data), SP (space), 444 VCHAR (any visible USASCII character), 445 and WSP (whitespace). 446 </t> 447 448 <section title="Core Rules" anchor="core.rules"> 434 449 <x:anchor-alias value="quoted-string"/> 435 <x:anchor-alias value="SP"/>436 450 <x:anchor-alias value="token"/> 437 451 <x:anchor-alias value="OWS"/> … … 439 453 The core rules below are defined in &basic-rules;: 440 454 </t> 441 <figure><artwork type="abnf2616">442 <x:ref>DIGIT</x:ref> = <DIGIT, defined in &basic-rules;>443 <x:ref>DQUOTE</x:ref> = <DQUOTE, defined in &basic-rules;>444 <x:ref>SP</x:ref> = <SP, defined in &basic-rules;>445 </artwork></figure>446 455 <figure><artwork type="abnf2616"> 447 456 <x:ref>quoted-string</x:ref> = <quoted-string, defined in &basic-rules;> … … 2813 2822 </reference> 2814 2823 2824 <reference anchor="RFC5234"> 2825 <front> 2826 <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title> 2827 <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor"> 2828 <organization>Brandenburg InternetWorking</organization> 2829 <address> 2830 <postal> 2831 <street>675 Spruce Dr.</street> 2832 <city>Sunnyvale</city> 2833 <region>CA</region> 2834 <code>94086</code> 2835 <country>US</country></postal> 2836 <phone>+1.408.246.8253</phone> 2837 <email>dcrocker@bbiw.net</email></address> 2838 </author> 2839 <author initials="P." surname="Overell" fullname="Paul Overell"> 2840 <organization>THUS plc.</organization> 2841 <address> 2842 <postal> 2843 <street>1/2 Berkeley Square</street> 2844 <street>99 Berkely Street</street> 2845 <city>Glasgow</city> 2846 <code>G3 7HR</code> 2847 <country>UK</country></postal> 2848 <email>paul.overell@thus.net</email></address> 2849 </author> 2850 <date month="January" year="2008"/> 2851 </front> 2852 <seriesInfo name="STD" value="68"/> 2853 <seriesInfo name="RFC" value="5234"/> 2854 </reference> 2855 2815 2856 </references> 2816 2857 … … 2940 2981 <section title="Collected ABNF" anchor="collected.abnf"> 2941 2982 <figure> 2942 <artwork type="abnf" name="p6-cache.parsed-abnf">Age = "Age:" OWS Age-v
 2943 Age-v = delta-seconds
 2944 Cache-Control = "Cache-Control:" OWS Cache-Control-v
 2945 Cache-Control-v = *( "," OWS ) cache-directive *( OWS "," [ OWS
 2946 cache-directive ] )
 2947 DIGIT = <DIGIT, defined in [Part1], Section 1.2.2>
 2948 DQUOTE = <DQUOTE, defined in [Part1], Section 1.2.2>
 2949 Expires = "Expires:" OWS Expires-v
 2950 Expires-v = HTTP-date
 2951 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1>
 2952 OWS = <OWS, defined in [Part1], Section 1.2.2>
 2953 Pragma = "Pragma:" OWS Pragma-v
 2954 Pragma-v = *( "," OWS ) pragma-directive *( OWS "," [ OWS
 2955 pragma-directive ] )
 2956 SP = <SP, defined in [Part1], Section 1.2.2>
 2957 Vary = "Vary:" OWS Vary-v
 2958 Vary-v = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name
 2959 ] ) )
 2960 Warning = "Warning:" OWS Warning-v
 2961 Warning-v = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value
 2962 ] )
 2963 cache-directive = cache-request-directive / cache-response-directive
 2964 cache-extension = token [ "=" ( token / quoted-string ) ]
 2965 cache-request-directive = "no-cache" / "no-store" / ( "max-age="
 2966 delta-seconds ) / ( "max-stale" [ "=" delta-seconds ] ) / (
 2967 "min-fresh=" delta-seconds ) / "no-transform" / "only-if-cached" /
 2968 cache-extension
 2969 cache-response-directive = "public" / ( "private" [ "=" DQUOTE *( ","
 2970 OWS ) field-name *( OWS "," [ OWS field-name ] ) DQUOTE ] ) / (
 2971 "no-cache" [ "=" DQUOTE *( "," OWS ) field-name *( OWS "," [ OWS
 2972 field-name ] ) DQUOTE ] ) / "no-store" / "no-transform" /
 2973 "must-revalidate" / "proxy-revalidate" / ( "max-age=" delta-seconds
 2974 ) / ( "s-maxage=" delta-seconds ) / cache-extension
 2975 delta-seconds = 1*DIGIT
 2976 extension-pragma = token [ "=" ( token / quoted-string ) ]
 2977 field-name = <field-name, defined in [Part1], Section 4.2>
 2978 port = <port, defined in [Part1], Section 2.1>
 2979 pragma-directive = "no-cache" / extension-pragma
 2980 pseudonym = <pseudonym, defined in [Part1], Section 8.9>
 2981 quoted-string = <quoted-string, defined in [Part1], Section 1.2.2>
 2982 token = <token, defined in [Part1], Section 1.2.2>
 2983 uri-host = <uri-host, defined in [Part1], Section 2.1>
 2984 warn-agent = ( uri-host [ ":" port ] ) / pseudonym
 2985 warn-code = 3DIGIT
 2986 warn-date = DQUOTE HTTP-date DQUOTE
 2987 warn-text = quoted-string
 2988 warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date
 2989 ]
 2990 ; Age defined but not used
 2991 ; Cache-Control defined but not used
 2992 ; Expires defined but not used
 2993 ; Pragma defined but not used
 2994 ; Vary defined but not used
 2995 ; Warning defined but not used
 2983 <artwork type="abnf" name="p6-cache.parsed-abnf"> 2984 Age = "Age:" OWS Age-v 2985 Age-v = delta-seconds 2986 Cache-Control = "Cache-Control:" OWS Cache-Control-v 2987 Cache-Control-v = *( "," OWS ) cache-directive *( OWS "," [ OWS 2988 cache-directive ] ) 2989 Expires = "Expires:" OWS Expires-v 2990 Expires-v = HTTP-date 2991 HTTP-date = <HTTP-date, defined in [Part1], Section 3.2.1> 2992 OWS = <OWS, defined in [Part1], Section 1.2.2> 2993 Pragma = "Pragma:" OWS Pragma-v 2994 Pragma-v = *( "," OWS ) pragma-directive *( OWS "," [ OWS 2995 pragma-directive ] ) 2996 Vary = "Vary:" OWS Vary-v 2997 Vary-v = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name 2998 ] ) ) 2999 Warning = "Warning:" OWS Warning-v 3000 Warning-v = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value 3001 ] ) 3002 cache-directive = cache-request-directive / cache-response-directive 3003 cache-extension = token [ "=" ( token / quoted-string ) ] 3004 cache-request-directive = "no-cache" / "no-store" / ( "max-age=" 3005 delta-seconds ) / ( "max-stale" [ "=" delta-seconds ] ) / ( 3006 "min-fresh=" delta-seconds ) / "no-transform" / "only-if-cached" / 3007 cache-extension 3008 cache-response-directive = "public" / ( "private" [ "=" DQUOTE *( "," 3009 OWS ) field-name *( OWS "," [ OWS field-name ] ) DQUOTE ] ) / ( 3010 "no-cache" [ "=" DQUOTE *( "," OWS ) field-name *( OWS "," [ OWS 3011 field-name ] ) DQUOTE ] ) / "no-store" / "no-transform" / 3012 "must-revalidate" / "proxy-revalidate" / ( "max-age=" delta-seconds 3013 ) / ( "s-maxage=" delta-seconds ) / cache-extension 3014 delta-seconds = 1*DIGIT 3015 extension-pragma = token [ "=" ( token / quoted-string ) ] 3016 field-name = <field-name, defined in [Part1], Section 4.2> 3017 port = <port, defined in [Part1], Section 2.1> 3018 pragma-directive = "no-cache" / extension-pragma 3019 pseudonym = <pseudonym, defined in [Part1], Section 8.9> 3020 quoted-string = <quoted-string, defined in [Part1], Section 1.2.2> 3021 token = <token, defined in [Part1], Section 1.2.2> 3022 uri-host = <uri-host, defined in [Part1], Section 2.1> 3023 warn-agent = ( uri-host [ ":" port ] ) / pseudonym 3024 warn-code = 3DIGIT 3025 warn-date = DQUOTE HTTP-date DQUOTE 3026 warn-text = quoted-string 3027 warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date 3028 ] 3029 ; Age defined but not used 3030 ; Cache-Control defined but not used 3031 ; Expires defined but not used 3032 ; Pragma defined but not used 3033 ; Vary defined but not used 3034 ; Warning defined but not used 2996 3035 </artwork> 2997 3036 </figure> -
draft-ietf-httpbis/latest/p7-auth.html
r424 r425 577 577 </p> 578 578 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="notation" href="#notation">Syntax Notation</a></h2> 579 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. 579 <p id="rfc.section.1.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation" title="Syntax Notation">Section 1.2</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. The following core rules are included by reference, as defined in <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>, <a href="http://tools.ietf.org/html/rfc5234#section-B.1">Appendix B.1</a>: ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double quote), HEXDIG 580 (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any 8-bit sequence of data), SP (space), VCHAR (any visible USASCII character), 581 and WSP (whitespace). 580 582 </p> 581 583 <h3 id="rfc.section.1.2.1"><a href="#rfc.section.1.2.1">1.2.1</a> <a id="core.rules" href="#core.rules">Core Rules</a></h3> … … 749 751 <h2 id="rfc.references.1"><a href="#rfc.section.7.1" id="rfc.section.7.1">7.1</a> Normative References 750 752 </h2> 751 <table summary="Normative References"> 753 <table summary="Normative References"> 752 754 <tr> 753 755 <td class="reference"><b id="Part1">[Part1]</b></td> … … 768 770 <td class="reference"><b id="RFC2617">[RFC2617]</b></td> 769 771 <td class="top"><a title="Northwestern University, Department of Mathematics">Franks, J.</a>, <a title="Verisign Inc.">Hallam-Baker, P.M.</a>, <a title="AbiSource, Inc.">Hostetler, J.L.</a>, <a title="Agranat Systems, Inc.">Lawrence, S.D.</a>, <a title="Microsoft Corporation">Leach, P.J.</a>, Luotonen, A., and <a title="Open Market, Inc.">L. Stewart</a>, “<a href="http://tools.ietf.org/html/rfc2617">HTTP Authentication: Basic and Digest Access Authentication</a>”, RFC 2617, June 1999. 772 </td> 773 </tr> 774 <tr> 775 <td class="reference"><b id="RFC5234">[RFC5234]</b></td> 776 <td class="top"><a title="Brandenburg InternetWorking">Crocker, D., Ed.</a> and <a title="THUS plc.">P. Overell</a>, “<a href="http://tools.ietf.org/html/rfc5234">Augmented BNF for Syntax Specifications: ABNF</a>”, STD 68, RFC 5234, January 2008. 770 777 </td> 771 778 </tr> … … 951 958 </li> 952 959 <li class="indline1"><em>RFC3864</em> <a class="iref" href="#rfc.xref.RFC3864.1">4.1</a>, <a class="iref" href="#RFC3864"><b>7.2</b></a></li> 960 <li class="indline1"><em>RFC5234</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a>, <a class="iref" href="#RFC5234"><b>7.1</b></a><ul class="ind"> 961 <li class="indline1"><em>Appendix B.1</em> <a class="iref" href="#rfc.xref.RFC5234.1">1.2</a></li> 962 </ul> 963 </li> 953 964 </ul> 954 965 </li> -
draft-ietf-httpbis/latest/p7-auth.xml
r424 r425 241 241 242 242 <section title="Syntax Notation" anchor="notation"> 243 <x:anchor-alias value="ALPHA"/> 244 <x:anchor-alias value="CR"/> 245 <x:anchor-alias value="DIGIT"/> 246 <x:anchor-alias value="LF"/> 247 <x:anchor-alias value="OCTET"/> 248 <x:anchor-alias value="VCHAR"/> 249 <x:anchor-alias value="WSP"/> 243 250 <t> 244 251 This specification uses the ABNF syntax defined in ¬ation;. 252 The following core rules are included by 253 reference, as defined in <xref target="RFC5234" x:fmt="," x:sec="B.1"/>: 254 ALPHA (letters), CR (carriage return), CRLF (CR LF), CTL (controls), 255 DIGIT (decimal 0-9), DQUOTE (double quote), 256 HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), 257 OCTET (any 8-bit sequence of data), SP (space), 258 VCHAR (any visible USASCII character), 259 and WSP (whitespace). 245 260 </t> 246 261 … … 693 708 </reference> 694 709 710 <reference anchor="RFC5234"> 711 <front> 712 <title abbrev="ABNF for Syntax Specifications">Augmented BNF for Syntax Specifications: ABNF</title> 713 <author initials="D." surname="Crocker" fullname="Dave Crocker" role="editor"> 714 <organization>Brandenburg InternetWorking</organization> 715 <address> 716 <postal> 717 <street>675 Spruce Dr.</street> 718 <city>Sunnyvale</city> 719 <region>CA</region> 720 <code>94086</code> 721 <country>US</country></postal> 722 <phone>+1.408.246.8253</phone> 723 <email>dcrocker@bbiw.net</email></address> 724 </author> 725 <author initials="P." surname="Overell" fullname="Paul Overell"> 726 <organization>THUS plc.</organization> 727 <address> 728 <postal> 729 <street>1/2 Berkeley Square</street> 730 <street>99 Berkely Street</street> 731 <city>Glasgow</city> 732 <code>G3 7HR</code> 733 <country>UK</country></postal> 734 <email>paul.overell@thus.net</email></address> 735 </author> 736 <date month="January" year="2008"/> 737 </front> 738 <seriesInfo name="STD" value="68"/> 739 <seriesInfo name="RFC" value="5234"/> 740 </reference> 741 695 742 </references> 696 743 … … 766 813 <section title="Collected ABNF" anchor="collected.abnf"> 767 814 <figure> 768 <artwork type="abnf" name="p7-auth.parsed-abnf">Authorization = "Authorization:" OWS Authorization-v
 769 Authorization-v = credentials
 770 OWS = <OWS, defined in [Part1], Section 1.2.2>
 771 Proxy-Authenticate = "Proxy-Authenticate:" OWS Proxy-Authenticate-v
 772 Proxy-Authenticate-v = *( "," OWS ) challenge *( OWS "," [ OWS
 773 challenge ] )
 774 Proxy-Authorization = "Proxy-Authorization:" OWS
 775 Proxy-Authorization-v
 776 Proxy-Authorization-v = credentials
 777 WWW-Authenticate = "WWW-Authenticate:" OWS WWW-Authenticate-v
 778 WWW-Authenticate-v = *( "," OWS ) challenge *( OWS "," [ OWS
 779 challenge ] )
 780 challenge = <challenge, defined in [RFC2617], Section 1.2>
 781 credentials = <credentials, defined in [RFC2617], Section 1.2>
 782 ; Authorization defined but not used
 783 ; Proxy-Authenticate defined but not used
 784 ; Proxy-Authorization defined but not used
 785 ; WWW-Authenticate defined but not used
 815 <artwork type="abnf" name="p7-auth.parsed-abnf"> 816 Authorization = "Authorization:" OWS Authorization-v 817 Authorization-v = credentials 818 OWS = <OWS, defined in [Part1], Section 1.2.2> 819 Proxy-Authenticate = "Proxy-Authenticate:" OWS Proxy-Authenticate-v 820 Proxy-Authenticate-v = *( "," OWS ) challenge *( OWS "," [ OWS 821 challenge ] ) 822 Proxy-Authorization = "Proxy-Authorization:" OWS 823 Proxy-Authorization-v 824 Proxy-Authorization-v = credentials 825 WWW-Authenticate = "WWW-Authenticate:" OWS WWW-Authenticate-v 826 WWW-Authenticate-v = *( "," OWS ) challenge *( OWS "," [ OWS 827 challenge ] ) 828 challenge = <challenge, defined in [RFC2617], Section 1.2> 829 credentials = <credentials, defined in [RFC2617], Section 1.2> 830 ; Authorization defined but not used 831 ; Proxy-Authenticate defined but not used 832 ; Proxy-Authorization defined but not used 833 ; WWW-Authenticate defined but not used 786 834 </artwork> 787 835 </figure>
Note: See TracChangeset
for help on using the changeset viewer.