Ignore:
Timestamp:
Mar 12, 2012, 2:15:20 AM (8 years ago)
Author:
fielding@…
Message:

on second thought, it is better to just define what effective request URI means for a user agent. plus, add more xrefs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p1-messaging.html

    r1589 r1590  
    756756      <p id="rfc.section.1.p.1">The Hypertext Transfer Protocol (HTTP) is an application-level request/response protocol that uses extensible semantics and
    757757         MIME-like message payloads for flexible interaction with network-based hypertext information systems. HTTP relies upon the
    758          Uniform Resource Identifier (URI) standard <a href="#RFC3986" id="rfc.xref.RFC3986.1"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a> to indicate the target resource and relationships between resources. Messages are passed in a format similar to that used
    759          by Internet mail <a href="#RFC5322" id="rfc.xref.RFC5322.1"><cite title="Internet Message Format">[RFC5322]</cite></a> and the Multipurpose Internet Mail Extensions (MIME) <a href="#RFC2045" id="rfc.xref.RFC2045.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a> (see <a href="p3-payload.html#differences.between.http.and.mime" title="Differences between HTTP and MIME">Appendix A</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> for the differences between HTTP and MIME messages).
     758         Uniform Resource Identifier (URI) standard <a href="#RFC3986" id="rfc.xref.RFC3986.1"><cite title="Uniform Resource Identifier (URI): Generic Syntax">[RFC3986]</cite></a> to indicate the target resource (<a href="#target-resource" title="Identifying a Target Resource">Section&nbsp;5.1</a>) and relationships between resources. Messages are passed in a format similar to that used by Internet mail <a href="#RFC5322" id="rfc.xref.RFC5322.1"><cite title="Internet Message Format">[RFC5322]</cite></a> and the Multipurpose Internet Mail Extensions (MIME) <a href="#RFC2045" id="rfc.xref.RFC2045.1"><cite title="Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies">[RFC2045]</cite></a> (see <a href="p3-payload.html#differences.between.http.and.mime" title="Differences between HTTP and MIME">Appendix A</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> for the differences between HTTP and MIME messages).
    760759      </p>
    761760      <p id="rfc.section.1.p.2">HTTP is a generic interface protocol for information systems. It is designed to hide the details of how a service is implemented
     
    873872         and response structures onto the data units of the underlying transport protocol is outside the scope of this specification.
    874873      </p>
    875       <p id="rfc.section.2.2.p.2">The specific connection protocols to be used for an interaction are determined by client configuration and the target resource's
    876          URI. For example, the "http" URI scheme (<a href="#http.uri" title="http URI scheme">Section&nbsp;2.7.1</a>) indicates a default connection of TCP over IP, with a default TCP port of 80, but the client might be configured to use
     874      <p id="rfc.section.2.2.p.2">The specific connection protocols to be used for an interaction are determined by client configuration and the target URI
     875         (<a href="#target-resource" title="Identifying a Target Resource">Section&nbsp;5.1</a>). For example, the "http" URI scheme (<a href="#http.uri" title="http URI scheme">Section&nbsp;2.7.1</a>) indicates a default connection of TCP over IP, with a default TCP port of 80, but the client might be configured to use
    877876         a proxy via some other connection port or protocol instead of using the defaults.
    878877      </p>
     
    10531052</pre><p id="rfc.section.2.7.p.4">Each protocol element in HTTP that allows a URI reference will indicate in its ABNF production whether the element allows
    10541053         any form of reference (URI-reference), only a URI in absolute form (absolute-URI), only the path and optional query components,
    1055          or some combination of the above. Unless otherwise indicated, URI references are parsed relative to the request's target URI
    1056          (<a href="#target-resource" title="Identifying a Target Resource">Section&nbsp;5.1</a>), if known by the recipient, or the effective request URI (<a href="#effective.request.uri" title="Effective Request URI">Section&nbsp;5.5</a>).
     1054         or some combination of the above. Unless otherwise indicated, URI references are parsed relative to the effective request
     1055         URI (<a href="#effective.request.uri" title="Effective Request URI">Section&nbsp;5.5</a>).
    10571056      </p>
    10581057      <h3 id="rfc.section.2.7.1"><a href="#rfc.section.2.7.1">2.7.1</a>&nbsp;<a id="http.uri" href="#http.uri">http URI scheme</a></h3>
     
    18791878         from this reconstruction process is referred to as the "effective request URI".
    18801879      </p>
    1881       <p id="rfc.section.5.5.p.2">If the request-target is in absolute-form, then the effective request URI is the same as the request-target. Otherwise, the
     1880      <p id="rfc.section.5.5.p.2">For a user agent, the effective request URI is the target URI.</p>
     1881      <p id="rfc.section.5.5.p.3">If the request-target is in absolute-form, then the effective request URI is the same as the request-target. Otherwise, the
    18821882         effective request URI is constructed as follows.
    18831883      </p>
    1884       <p id="rfc.section.5.5.p.3">If the request is received over an SSL/TLS-secured TCP connection, then the effective request URI's scheme is "https"; otherwise,
     1884      <p id="rfc.section.5.5.p.4">If the request is received over an SSL/TLS-secured TCP connection, then the effective request URI's scheme is "https"; otherwise,
    18851885         the scheme is "http".
    18861886      </p>
    1887       <p id="rfc.section.5.5.p.4">If the request-target is in authority-form, then the effective request URI's authority component is the same as the request-target.
     1887      <p id="rfc.section.5.5.p.5">If the request-target is in authority-form, then the effective request URI's authority component is the same as the request-target.
    18881888         Otherwise, if a Host header field is supplied with a non-empty field-value, then the authority component is the same as the
    18891889         Host field-value. Otherwise, the authority component is the concatenation of the default hostname configured for the server,
    18901890         a colon (":"), and the connection's incoming TCP port number in decimal form.
    18911891      </p>
    1892       <p id="rfc.section.5.5.p.5">If the request-target is in authority-form or asterisk-form, then the effective request URI's combined path and query component
     1892      <p id="rfc.section.5.5.p.6">If the request-target is in authority-form or asterisk-form, then the effective request URI's combined path and query component
    18931893         is empty. Otherwise, the combined path and query component is the same as the request-target.
    18941894      </p>
    1895       <p id="rfc.section.5.5.p.6">The components of the effective request URI, once determined as above, can be combined into absolute-URI form by concatenating
     1895      <p id="rfc.section.5.5.p.7">The components of the effective request URI, once determined as above, can be combined into absolute-URI form by concatenating
    18961896         the scheme, "://", authority, and combined path and query component.
    18971897      </p>
     
    19061906</pre> <div id="rfc.figure.u.58"></div>
    19071907      <p>has an effective request URI of</p>  <pre class="text">https://www.example.org
    1908 </pre> <p id="rfc.section.5.5.p.11">An origin server that does not allow resources to differ by requested host <em class="bcp14">MAY</em> ignore the Host field-value and instead replace it with a configured server name when constructing the effective request URI.
    1909       </p>
    1910       <p id="rfc.section.5.5.p.12">Recipients of an HTTP/1.0 request that lacks a Host header field <em class="bcp14">MAY</em> attempt to use heuristics (e.g., examination of the URI path for something unique to a particular host) in order to guess
     1908</pre> <p id="rfc.section.5.5.p.12">An origin server that does not allow resources to differ by requested host <em class="bcp14">MAY</em> ignore the Host field-value and instead replace it with a configured server name when constructing the effective request URI.
     1909      </p>
     1910      <p id="rfc.section.5.5.p.13">Recipients of an HTTP/1.0 request that lacks a Host header field <em class="bcp14">MAY</em> attempt to use heuristics (e.g., examination of the URI path for something unique to a particular host) in order to guess
    19111911         the effective request URI's authority component.
    19121912      </p>
Note: See TracChangeset for help on using the changeset viewer.