Opened 7 years ago

Closed 6 years ago

#401 closed design (fixed)

ETags and Conneg

Reported by: mnot@… Owned by:
Priority: normal Milestone: 22
Component: p4-conditional Severity: In WG Last Call
Keywords: Cc:

Description

I just received an interesting bug report on REDbot; <https://github.com/mnot/redbot/issues/109>

""" When an ETag is marked weak with "W/", it need not change across different content encodings. "Weak" means the entity is semantically equivalent but not bit-equivalent. But Redbot complains that it doesn't change with different content encodings. """

The obvious question is whether two different *negotiated* representations of the same resource can (or should) have the same weak ETag.

Change History (12)

comment:1 Changed 6 years ago by mnot@…

  • Milestone changed from unassigned to 22

Proposal:

  1. add a MUST requirement for strong ETag uniqueness, and
  2. clarify in prose that if you issue the same weak ETag for *any* two representations of a resource, you consider them interchangeable (possibly in the examples), and
  3. clarify the definition of ETags WRT "differentiate"

comment:2 Changed 6 years ago by mnot@…

  • Owner draft-ietf-httpbis-p4-conditional@… deleted

comment:3 Changed 6 years ago by fielding@…

Can you suggest prose to add near bottom of section 2.1? The current examples are all time-based. I don't think any other clarification is needed.

comment:4 Changed 6 years ago by mnot@…

Insert before the last paragraph in 2.1:

Note that any two representations of a resource that share a weak validator can be considered equivalent when using the weak comparison function; this applies even if their other metadata (e.g., Content-Type) differs.

Last edited 6 years ago by mnot@… (previous) (diff)

comment:5 Changed 6 years ago by fielding@…

That doesn't fit with the new style of that section. I have added:

Likewise, a validator is weak if it is shared by two or more representations of a given resource at the same time, unless those representations have identical representation data. For example, if the origin server sends the same validator for a representation with a gzip content coding applied as it does for a representation with no content coding, then that validator is weak. However, two simultaneous representations might share the same strong validator if they differ only in the representation metadata, such as when two different media types are available for the same representation data.

comment:6 Changed 6 years ago by fielding@…

From [2136]:

note that simultaneous use of the same validator for different representation data would also make it weak; addresses #401

comment:7 Changed 6 years ago by fielding@…

  • Resolution set to incorporated
  • Status changed from new to closed

comment:8 Changed 6 years ago by mnot@…

That reads like you're saying that a strong validator can be made magically into a weak one by associating it with two representations that have different bits.

comment:9 Changed 6 years ago by fielding@…

Yes, that's intentional -- this section defines weak vs strong. A later section says that an entity-tag must be marked as weak unless it has all the characteristics of being strong.

comment:10 Changed 6 years ago by mnot@…

(reading in context) OK. Thx.

comment:11 Changed 6 years ago by mnot@…

  • Resolution incorporated deleted
  • Status changed from closed to reopened

comment:12 Changed 6 years ago by mnot@…

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.