Changeset 2633 for draft-ietf-httpbis/latest/p2-semantics.html
- Timestamp:
- 06/05/14 11:33:16 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.html
r2632 r2633 754 754 </li> 755 755 <li><a href="#rfc.section.9">9.</a> <a href="#security.considerations">Security Considerations</a><ul> 756 <li><a href="#rfc.section.9.1">9.1</a> <a href="#attack.pathname">Attacks Based On File and Path Names</a></li>757 <li><a href="#rfc.section.9.2">9.2</a> <a href="#attack.injection">Attacks Based On Command, Code, or Query Injection</a></li>756 <li><a href="#rfc.section.9.1">9.1</a> <a href="#attack.pathname">Attacks Based on File and Path Names</a></li> 757 <li><a href="#rfc.section.9.2">9.2</a> <a href="#attack.injection">Attacks Based on Command, Code, or Query Injection</a></li> 758 758 <li><a href="#rfc.section.9.3">9.3</a> <a href="#personal.information">Disclosure of Personal Information</a></li> 759 759 <li><a href="#rfc.section.9.4">9.4</a> <a href="#sensitive.information.in.uris">Disclosure of Sensitive Information in URIs</a></li> … … 810 810 <div id="notation"> 811 811 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a href="#notation">Syntax Notation</a></h2> 812 <p id="rfc.section.1.2.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with a list extension, defined in <a href="p1-messaging.html#abnf.extension" title="ABNF list extension: #rule">Section 7</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, that allows for compact definition of comma-separated lists using a '#' operator (similar to how the '*' operator indicates812 <p id="rfc.section.1.2.p.1">This specification uses the Augmented Backus-Naur Form (ABNF) notation of <a href="#RFC5234" id="rfc.xref.RFC5234.1"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a> with a list extension, defined in <a href="p1-messaging.html#abnf.extension" title="ABNF List Extension: #rule">Section 7</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, that allows for compact definition of comma-separated lists using a '#' operator (similar to how the '*' operator indicates 813 813 repetition). <a href="#imported.abnf" title="Imported ABNF">Appendix C</a> describes rules imported from other documents. <a href="#collected.abnf" title="Collected ABNF">Appendix D</a> shows the collected grammar with all list operators expanded to standard ABNF notation. 814 814 </p> … … 1455 1455 </p> 1456 1456 <p id="rfc.section.4.3.1.p.2">It is tempting to think of resource identifiers as remote file system pathnames, and of representations as being a copy of 1457 the contents of such files. In fact, that is how many resources are implemented (see <a href="#attack.pathname" title="Attacks Based On File and Path Names">Section 9.1</a> for related security considerations). However, there are no such limitations in practice. The HTTP interface for a resource1457 the contents of such files. In fact, that is how many resources are implemented (see <a href="#attack.pathname" title="Attacks Based on File and Path Names">Section 9.1</a> for related security considerations). However, there are no such limitations in practice. The HTTP interface for a resource 1458 1458 is just as likely to be implemented as a tree of content objects, a programmatic view on various database records, or a gateway 1459 1459 to other information systems. Even when the URI mapping mechanism is tied to a file system, an origin server might be configured … … 3845 3845 processing, since the prefix would ensure that private names never collide with a newly registered Internet name; see <a href="#BCP178" id="rfc.xref.BCP178.1"><cite title="Deprecating the "X-" Prefix and Similar Constructs in Application Protocols">[BCP178]</cite></a> for further information) 3846 3846 </p> 3847 <p id="rfc.section.8.3.1.p.4">New header field values typically have their syntax defined using ABNF (<a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>), using the extension defined in <a href="p1-messaging.html#abnf.extension" title="ABNF list extension: #rule">Section 7</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.34"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a> as necessary, and are usually constrained to the range of ASCII characters. Header fields needing a greater range of characters3847 <p id="rfc.section.8.3.1.p.4">New header field values typically have their syntax defined using ABNF (<a href="#RFC5234" id="rfc.xref.RFC5234.2"><cite title="Augmented BNF for Syntax Specifications: ABNF">[RFC5234]</cite></a>), using the extension defined in <a href="p1-messaging.html#abnf.extension" title="ABNF List Extension: #rule">Section 7</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.34"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a> as necessary, and are usually constrained to the range of ASCII characters. Header fields needing a greater range of characters 3848 3848 can use an encoding such as the one defined in <a href="#RFC5987" id="rfc.xref.RFC5987.1"><cite title="Character Set and Language Encoding for Hypertext Transfer Protocol (HTTP) Header Field Parameters">[RFC5987]</cite></a>. 3849 3849 </p> 3850 3850 <p id="rfc.section.8.3.1.p.5">Leading and trailing whitespace in raw field values is removed upon field parsing (<a href="p1-messaging.html#field.parsing" title="Field Parsing">Section 3.2.4</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.35"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>). Field definitions where leading or trailing whitespace in values is significant will have to use a container syntax such 3851 as quoted-string (<a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.6</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.36"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>).3851 as quoted-string (<a href="p1-messaging.html#field.components" title="Field Value Components">Section 3.2.6</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.36"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>). 3852 3852 </p> 3853 3853 <p id="rfc.section.8.3.1.p.6">Because commas (",") are used as a generic delimiter between field-values, they need to be treated with care if they are allowed … … 4134 4134 </p> 4135 4135 <div id="attack.pathname"> 4136 <h2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a> <a href="#attack.pathname">Attacks Based On File and Path Names</a></h2>4136 <h2 id="rfc.section.9.1"><a href="#rfc.section.9.1">9.1</a> <a href="#attack.pathname">Attacks Based on File and Path Names</a></h2> 4137 4137 <p id="rfc.section.9.1.p.1">Origin servers frequently make use of their local file system to manage the mapping from effective request URI to resource 4138 4138 representations. Implementers need to be aware that most file systems are not designed to protect against malicious file or … … 4151 4151 </div> 4152 4152 <div id="attack.injection"> 4153 <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a href="#attack.injection">Attacks Based On Command, Code, or Query Injection</a></h2>4153 <h2 id="rfc.section.9.2"><a href="#rfc.section.9.2">9.2</a> <a href="#attack.injection">Attacks Based on Command, Code, or Query Injection</a></h2> 4154 4154 <p id="rfc.section.9.2.p.1">Origin servers often use parameters within the URI as a means of identifying system services, selecting database entries, 4155 4155 or choosing a data source. However, data received in a request cannot be trusted. An attacker could construct any of the request … … 4599 4599 <a href="#imported.abnf" class="smpl">URI-reference</a> = <URI-reference, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.51"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>> 4600 4600 <a href="#imported.abnf" class="smpl">absolute-URI</a> = <absolute-URI, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.52"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>> 4601 <a href="#imported.abnf" class="smpl">comment</a> = <comment, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.53"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.6</a>>4601 <a href="#imported.abnf" class="smpl">comment</a> = <comment, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.53"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field Value Components">Section 3.2.6</a>> 4602 4602 <a href="#imported.abnf" class="smpl">field-name</a> = <comment, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.54"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#header.fields" title="Header Fields">Section 3.2</a>> 4603 4603 <a href="#imported.abnf" class="smpl">partial-URI</a> = <partial-URI, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.55"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#uri" title="Uniform Resource Identifiers">Section 2.7</a>> 4604 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.56"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.6</a>>4605 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.57"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field value components">Section 3.2.6</a>>4604 <a href="#imported.abnf" class="smpl">quoted-string</a> = <quoted-string, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.56"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field Value Components">Section 3.2.6</a>> 4605 <a href="#imported.abnf" class="smpl">token</a> = <token, defined in <a href="#RFC7230" id="rfc.xref.RFC7230.57"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>, <a href="p1-messaging.html#field.components" title="Field Value Components">Section 3.2.6</a>> 4606 4606 </pre></div> 4607 4607 <div id="collected.abnf">
Note: See TracChangeset
for help on using the changeset viewer.