Changeset 2129


Ignore:
Timestamp:
Jan 19, 2013, 6:17:03 AM (6 years ago)
Author:
fielding@…
Message:

reduce requirements targeting entity-tag to facts; addresses #350

Location:
draft-ietf-httpbis/latest
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p4-conditional.html

    r2128 r2129  
    578578                     <li><a href="#rfc.section.2.3.1">2.3.1</a>&nbsp;&nbsp;&nbsp;<a href="#entity.tag.generation">Generation</a></li>
    579579                     <li><a href="#rfc.section.2.3.2">2.3.2</a>&nbsp;&nbsp;&nbsp;<a href="#entity.tag.comparison">Comparison</a></li>
    580                      <li><a href="#rfc.section.2.3.3">2.3.3</a>&nbsp;&nbsp;&nbsp;<a href="#example.entity.tag.vs.conneg">Example: Entity-tags varying on Content-Negotiated Resources</a></li>
     580                     <li><a href="#rfc.section.2.3.3">2.3.3</a>&nbsp;&nbsp;&nbsp;<a href="#example.entity.tag.vs.conneg">Example: Entity-tags Varying on Content-Negotiated Resources</a></li>
    581581                  </ul>
    582582               </li>
     
    666666         in use and imposes restrictions on when weak validators can be used as preconditions.
    667667      </p>
    668       <p id="rfc.section.2.1.p.2">A "strong validator" is a representation metadata value that is changed to a new, previously unused or guaranteed unique,
    669          value whenever a change occurs to the representation data such that a change would be observable in the payload body of a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response to GET.
     668      <p id="rfc.section.2.1.p.2">A "strong validator" is representation metadata that changes value whenever a change occurs to the representation data that
     669         would be observable in the payload body of a <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a> response to GET.
    670670      </p>
    671671      <p id="rfc.section.2.1.p.3">A strong validator might change for other reasons, such as when a semantically significant part of the representation metadata
     
    687687         such as might occur with content negotiation over media types that happen to share the same data format, then the origin server <em class="bcp14">SHOULD</em> incorporate additional information in the validator to distinguish those representations and avoid confusing cache behavior.
    688688      </p>
    689       <p id="rfc.section.2.1.p.6">In contrast, a "weak validator" is a representation metadata value that might not be changed for every change to the representation
    690          data. This weakness might be due to limitations in how the value is calculated, such as clock resolution or an inability to
    691          ensure uniqueness for all possible representations of the resource, or due to a desire by the resource owner to group representations
     689      <p id="rfc.section.2.1.p.6">In contrast, a "weak validator" is representation metadata that might not change for every change to the representation data.
     690         This weakness might be due to limitations in how the value is calculated, such as clock resolution or an inability to ensure
     691         uniqueness for all possible representations of the resource, or due to a desire by the resource owner to group representations
    692692         by some self-determined set of equivalency rather than unique sequences of data. An origin server <em class="bcp14">SHOULD</em> change a weak entity-tag whenever it considers prior representations to be unacceptable as a substitute for the current representation.
    693693         In other words, a weak entity-tag ought to change whenever the origin server wants caches to invalidate old responses.
     
    793793  ETag: ""
    794794</pre><p id="rfc.section.2.3.p.6">An entity-tag can be either a weak or strong validator, with strong being the default. If an origin server provides an entity-tag
    795          for a representation and the generation of that entity-tag does not satisfy the requirements for a strong validator (<a href="#weak.and.strong.validators" title="Weak versus Strong">Section&nbsp;2.1</a>), then the origin server <em class="bcp14">MUST</em> mark the entity-tag as weak by prefixing its opaque value with "W/" (case-sensitive).
     795         for a representation and the generation of that entity-tag does not satisfy all of the characteristics of a strong validator
     796         (<a href="#weak.and.strong.validators" title="Weak versus Strong">Section&nbsp;2.1</a>), then the origin server <em class="bcp14">MUST</em> mark the entity-tag as weak by prefixing its opaque value with "W/" (case-sensitive).
    796797      </p>
    797798      <h3 id="rfc.section.2.3.1"><a href="#rfc.section.2.3.1">2.3.1</a>&nbsp;<a id="entity.tag.generation" href="#entity.tag.generation">Generation</a></h3>
     
    860861         </table>
    861862      </div>
    862       <h3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a>&nbsp;<a id="example.entity.tag.vs.conneg" href="#example.entity.tag.vs.conneg">Example: Entity-tags varying on Content-Negotiated Resources</a></h3>
     863      <h3 id="rfc.section.2.3.3"><a href="#rfc.section.2.3.3">2.3.3</a>&nbsp;<a id="example.entity.tag.vs.conneg" href="#example.entity.tag.vs.conneg">Example: Entity-tags Varying on Content-Negotiated Resources</a></h3>
    863864      <p id="rfc.section.2.3.3.p.1">Consider a resource that is subject to content negotiation (<a href="p2-semantics.html#content.negotiation" title="Content Negotiation">Section 3.4</a> of <a href="#Part2" id="rfc.xref.Part2.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>), and where the representations sent in response to a GET request vary based on the <a href="p2-semantics.html#header.accept-encoding" class="smpl">Accept-Encoding</a> request header field (<a href="p2-semantics.html#header.accept-encoding" title="Accept-Encoding">Section 5.3.4</a> of <a href="#Part2" id="rfc.xref.Part2.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[Part2]</cite></a>):
    864865      </p>
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r2128 r2129  
    209209</t>
    210210<t>
    211    A "strong validator" is a representation metadata value that is
    212    changed to a new, previously unused or guaranteed unique, value whenever
    213    a change occurs to the representation data such that a change would be
    214    observable in the payload body of a <x:ref>200 (OK)</x:ref> response to GET.
     211   A "strong validator" is representation metadata that changes value whenever
     212   a change occurs to the representation data that would be observable in the
     213   payload body of a <x:ref>200 (OK)</x:ref> response to GET.
    215214</t>
    216215<t>   
    217    A strong validator might change for other reasons, such as when a semantically
    218    significant part of the representation metadata is changed (e.g.,
    219    <x:ref>Content-Type</x:ref>), but it is in the best interests of the origin
    220    server to only change the value when it is necessary to invalidate the
    221    stored responses held by remote caches and authoring tools. A strong
    222    validator is unique across all representations of a given resource,
    223    such that no two representations of that resource share the same validator
     216   A strong validator might change for other reasons, such as when a
     217   semantically significant part of the representation metadata is changed
     218   (e.g., <x:ref>Content-Type</x:ref>), but it is in the best interests of the
     219   origin server to only change the value when it is necessary to invalidate
     220   the stored responses held by remote caches and authoring tools. A strong
     221   validator is unique across all representations of a given resource, such
     222   that no two representations of that resource share the same validator
    224223   unless their payload body would be identical.
    225224</t>
     
    250249</t>
    251250<t>
    252    In contrast, a "weak validator" is a representation metadata value that
    253    might not be changed for every change to the representation data.  This
     251   In contrast, a "weak validator" is representation metadata that
     252   might not change for every change to the representation data.  This
    254253   weakness might be due to limitations in how the value is calculated, such
    255254   as clock resolution or an inability to ensure uniqueness for all possible
     
    452451   strong being the default.  If an origin server provides an entity-tag
    453452   for a representation and the generation of that entity-tag does not satisfy
    454    the requirements for a strong validator
     453   all of the characteristics of a strong validator
    455454   (<xref target="weak.and.strong.validators"/>), then the origin server
    456455   &MUST; mark the entity-tag as weak by prefixing its opaque value
     
    535534</section>
    536535
    537 <section title="Example: Entity-tags varying on Content-Negotiated Resources" anchor="example.entity.tag.vs.conneg">
     536<section title="Example: Entity-tags Varying on Content-Negotiated Resources" anchor="example.entity.tag.vs.conneg">
    538537<t>
    539538   Consider a resource that is subject to content negotiation
Note: See TracChangeset for help on using the changeset viewer.