Opened 10 years ago

Closed 10 years ago

#256 closed editorial (fixed)

Caching text needs to be updated

Reported by: zach@… Owned by: draft-ietf-core-coap@…
Priority: minor Milestone: post-WGLC-1
Component: coap Version: coap-12
Severity: In WG Last Call Keywords:
Cc:

Description

Klaus Hartke notes:

Section 5.6

all options match between those in the presented request and those of the request used to obtain the stored response (which includes the request URI), except that there is no need for a match of the Token, Max-Age, or ETag request option(s), or any request options marked as NoCacheKey? (Section 5.4), and

This is not entirely true, as the ETag request option may be part of the cache key as well:

We have two places where we can define the properties of an option: in the RFC, and in the option number.

If a proxy recognises the ETag Option, then its caching behaviour is defined in the RFC: the proxy determines if the ETag identifies a fresh response and returns either 2.03 (Valid) or not.

If a proxy does not recognise the ETag Option, we have the choice if it's safe to forward it, or not.

If it's not safe to forward, then the proxy removes it, makes the request towards the destination, stores the result in its cache, and returns the response to the client.

But if it is safe to forward, then the server makes the request towards the destination *with* the ETag Option, stores the result in its cache, and returns the response to the client. The proxy can use the response to satisfy later requests only if these have the same ETag Option, because the origin server could have returned a different response for a different ETag Option value.

So the option number must indicate to caches that do not recognise the ETag Option that it is part of the cache-key.

So the text in Section 5.6 needs to be rephrased and brought in line with Section 5.4.2.

Change History (1)

comment:1 Changed 10 years ago by cabo@…

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

Fixed in [1087]:

Fix #256

Note: See TracTickets for help on using tickets.