OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (ODATA-419) Specify ETag handling more precisely


     [ http://tools.oasis-open.org/issues/browse/ODATA-419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-419:
-----------------------------

       Proposal: 
Recommend using weak ETags and refer to HTTPbis for the new semantics of weak ETags with If-Match

Align ETag-related sections "8.3.1 ETag Header", "8.2.3 Header If-Match", "8.2.4 Header If-Non-Match" and "11.4.1.1 Use of ETags for Avoiding Update Conflicts" with HTTPbis.
    Environment: [Proposed]

ETags: Weak or Strong
- Strong ETag: byte-for-byte identical, i.e. Atom and JSON representations would need different ETags
- Weak ETag: semantically identical, e.g. Atom and JSON representations, content-language, ignoring computed properties, ...

Preference: weak ETag, same ETag for Atom and JSON, independent of content language, ignoring computed properties.

Problem:  RFC2616, section 14.24 If-Match states
- A server MUST use the strong comparison function (see section 13.3.3) to compare the entity tags in If-Match.
	
And RFC2616, section 13.2.2 Weak and Strong Validators states
- The strong comparison function: in order to be considered equal, both validators MUST be identical in every way, and both MUST NOT be weak.

So if we use weak ETags, If-Match with RFC2616 (HTTP/1.1) semantics would never consider them equal.

This seems to be a bug in RFC2616 as HTTPbis (http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-22#section-3.1) states
- The If-Match condition is met if and only if any of the entity-tags listed in the If-Match field value match the entity-tag of the selected representation using the weak comparison function (as per Section 2.3.2), or if "*" is given and any current representation exists for the target resource.


> Specify ETag handling more precisely
> ------------------------------------
>
>                 Key: ODATA-419
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-419
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: OData Protocol 
>    Affects Versions: V4.0_CSD01
>         Environment: [Proposed]
>            Reporter: Ralf Handl
>             Fix For: V4.0_CSD02
>
>
> The specification should be more specific about the ETag handling. E.g. should a weak or strong ETag be generated on the server? 
> This has consequences because [RFC-2616] (chapters 13.3, 14.24 and 14.26) seem to define the ETag handling slightly different than in this spec.
> This affects sections "8.3.1 ETag Header", "8.2.3 Header If-Match", "8.2.4 Header If-Non-Match" and "11.4.1.1 Use of ETags for Avoiding Update Conflicts".
> Also state whether we expect ETags for collections that advertise actions, or whether we expect the advertised action to contain an action-specific ETag.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]