Re: Does no-store in request imply no-cache?

Adrien de Croy wrote:
> talking about IP and tracerts is a complete red herring.  These
> agents are the parties in TCP connections.  Sure, the IP packets may
> go via different routers between the endpoints, but the endpoints are
> the endpoints.

Exactly, which is why this is no red herring...

A = user-agent
B = origin server
C = cache

The route from A to B passes through C, the route from B to A passes
through D.  User-agent A sends a GET request to the origin server B.
The request is a hit on cache C, so the response goes from C to A.

In the event of a cache miss it is not A, but C, making the request to
B -- but only for safe methods, otherwise C is not an endpoint.

The user at A changes the representation and makes a PUT request to B.
Cache C intercepts this request, and *routes* it to B.  B then sends a
200 OK response to A, which does not pass through C.

This is because caches are stand-ins for origin servers, not user-agent
proxies.  B knows nothing of C, because A made the PUT request.

So, C only knows the status of the response to the PUT if the route
from B to A is the same as the route from A to B.  When dealing with
unsafe request methods, intermediaries are not participants, only the
user-agent and origin server are endpoints.


Received on Monday, 18 October 2010 04:24:56 UTC