- From: Mark Nottingham <mnot@mnot.net>
- Date: Mon, 18 Oct 2010 15:30:27 +1100
- To: Eric J. Bowman <eric@bisonsystems.net>
- Cc: Adrien de Croy <adrien@qbik.com>, HTTP Working Group <ietf-http-wg@w3.org>, David Morris <dwm@xpasc.com>
It looks like we're getting off-track here; can we focus on the issue at hand, please? On 18/10/2010, at 3:24 PM, Eric J. Bowman wrote: > 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 > -- Mark Nottingham http://www.mnot.net/
Received on Monday, 18 October 2010 04:30:59 UTC