* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

Ticket #372: 372.diff

File 372.diff, 5.1 KB (added by julian.reschke@gmx.de, 2 years ago)

Proposed patch

  • p4-conditional.xml

     
    757757  <x:ref>If-Match</x:ref> = "*" / 1#<x:ref>entity-tag</x:ref> 
    758758</artwork></figure> 
    759759<t> 
    760    If any of the entity-tags listed in the If-Match field value match 
    761    (as per <xref target="entity.tag.comparison"/>) the entity-tag of the  
    762    selected representation for the target resource, 
    763    or if "*" is given and any current representation exists for the 
    764    target resource, then the server &MAY; perform the request method 
    765    as if the If-Match header field was not present. 
     760   The If-Match condition is met if and only if any of the entity-tags listed 
     761   in the If-Match field value match (as per <xref 
     762   target="entity.tag.comparison"/>) the entity-tag of the  
     763   selected representation for the target resource, or if "*" is given and any  
     764   current representation exists for the target resource. 
    766765</t> 
    767766<t> 
    768    Origin servers &MUST-NOT; perform the requested method if none of the 
    769    entity-tags match, or if "*" is given and no current representation 
    770    exists; instead they &MUST; respond with the <x:ref>412 (Precondition Failed)</x:ref> 
    771    status code. 
     767   If the condition is met, the server &MAY; perform the request method as if 
     768   the If-Match header field was not present. 
    772769</t> 
    773770<t> 
     771   Origin servers &MUST-NOT; perform the requested method if the condition is 
     772   not met; instead they &MUST; respond with the <x:ref>412 (Precondition 
     773   Failed)</x:ref> status code. 
     774</t> 
     775<t> 
    774776   Proxy servers using a cached response as the selected representation 
    775    &MUST-NOT; perform the requested method if none of the entity-tags match, 
    776    or if "*" is given and no current representation exists; instead, they 
    777    &MUST; forward the request towards the origin server. 
     777   &MUST-NOT; perform the requested method if the condition is not met; 
     778   instead, they &MUST; forward the request towards the origin server. 
    778779</t> 
    779780<t> 
    780    If the request would, without the If-Match header field, result in 
    781    anything other than a <x:ref>2xx (Successful)</x:ref> or <x:ref>412 (Precondition Failed)</x:ref> 
    782    status code, then the If-Match header field &MUST; be ignored. 
     781   If the request would, without the If-Match header field, result in anything 
     782   other than a <x:ref>2xx (Successful)</x:ref> or <x:ref>412 (Precondition 
     783   Failed)</x:ref> status code, then the If-Match header field &MUST; be ignored. 
    783784</t> 
    784785<t> 
    785786   Examples: 
     
    826827  <x:ref>If-None-Match</x:ref> = "*" / 1#<x:ref>entity-tag</x:ref> 
    827828</artwork></figure> 
    828829<t> 
    829    If any of the entity-tags listed in the If-None-Match field-value match 
    830    (as per <xref target="entity.tag.comparison"/>) the entity-tag of the  
    831    selected representation, or if "*" is 
    832    given and any current representation exists for that resource, then the 
    833    server &MUST-NOT; perform the requested method. 
    834    Instead, if the request method was GET or HEAD, the server &SHOULD; 
    835    respond with a <x:ref>304 (Not Modified)</x:ref> status code, including the cache-related 
    836    header fields (particularly <x:ref>ETag</x:ref>) of the selected representation that has 
    837    a matching entity-tag.  For all other request methods, the server &MUST; 
    838    respond with a <x:ref>412 (Precondition Failed)</x:ref> status code. 
     830   The If-None-Match condition is met if and only if any of the entity-tags 
     831   listed in the If-None-Match field-value match (as per <xref 
     832   target="entity.tag.comparison"/>) the entity-tag of the selected 
     833   representation, or if "*" is given and any current representation exists for 
     834   that resource. 
    839835</t> 
    840836<t> 
    841    If none of the entity-tags match, then the server &MAY; perform the 
    842    requested method as if the If-None-Match header field did not exist, 
    843    but &MUST; also ignore any <x:ref>If-Modified-Since</x:ref> header field(s) 
    844    in the request. That is, if no entity-tags match, then the server &MUST-NOT; 
    845    return a <x:ref>304 (Not Modified)</x:ref> response. 
     837   If the condition is met, the server &MUST-NOT; perform the requested method. 
     838   Instead, if the request method was GET or HEAD, the server &SHOULD; respond 
     839   with a <x:ref>304 (Not Modified)</x:ref> status code, including the 
     840   cache-related header fields (particularly <x:ref>ETag</x:ref>) of the 
     841   selected representation that has a matching entity-tag. For all other 
     842   request methods, the server &MUST; respond with a <x:ref>412 (Precondition 
     843   Failed)</x:ref> status code. 
    846844</t> 
    847845<t> 
     846   If the condition is not met, the server &MAY; perform the requested method 
     847   as if the If-None-Match header field did not exist, but &MUST; also ignore 
     848   any <x:ref>If-Modified-Since</x:ref> header field(s) in the request. That 
     849   is, if no entity-tags match, then the server &MUST-NOT; return a <x:ref>304 
     850   (Not Modified)</x:ref> response. 
     851</t> 
     852<t> 
    848853   If the request would, without the If-None-Match header field, result 
    849854   in anything other than a <x:ref>2xx (Successful)</x:ref> or 
    850855   <x:ref>304 (Not Modified)</x:ref> status code, then the If-None-Match