- From: Eric J. Bowman <eric@bisonsystems.net>
- Date: Sun, 17 Oct 2010 22:24:19 -0600
- To: Adrien de Croy <adrien@qbik.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>, David Morris <dwm@xpasc.com>
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. -Eric
Received on Monday, 18 October 2010 04:24:56 UTC