- From: Ford, Alan <alan.ford@roke.co.uk>
- Date: Fri, 28 Aug 2009 12:38:05 +0100
- To: "Henrik Nordstrom" <henrik@henriknordstrom.net>
- Cc: "Robert Siemer" <Robert.Siemer-http@backsla.sh>, "Mark Nottingham" <mnot@mnot.net>, <ietf-http-wg@w3.org>, "Mark Handley" <m.handley@cs.ucl.ac.uk>
Hi Henrik, all, Thanks for the clarification, so it seems we could in theory define the ETag for this specification to ensure it matches across servers. That would remove the need for all except the Mirrors: header, and possibly Multiserver-Version (so that the server knows it's talking to a multiserver-capable client and thus the ETag is defined this way). If we didn't mind a small delay, we could probably do away with that too and say the client could infer capability by getting a Mirrors: header back from a HEAD request first, and then deciding what to do (assuming the connection can be kept alive). Which brings me onto another thing about Mirrors: header. One of our longer-term goals with this would be to somehow provide wildcarded lists of mirrors, so that a client could immediately run off and fetch bits of a website from many mirrors, potentially speeding up loading time considerably, and providing an alternative method of load balancing. However, I'm struggling to see a neat way of doing this reliably, since we couldn't get checksums for every file on the first handshake (or if all content was static we might be able to, but it's a big overhead). Does anybody have any ideas as to a neat way of doing this? Best I can think of so far is some sort of version number/(pseudo)hash of the entire directory structure! Regards, Alan > -----Original Message----- > From: Henrik Nordstrom [mailto:henrik@henriknordstrom.net] > Sent: 26 August 2009 21:30 > To: Ford, Alan > Cc: Robert Siemer; Mark Nottingham; ietf-http-wg@w3.org; Mark Handley > Subject: RE: Multi-server HTTP > > tis 2009-08-25 klockan 10:24 +0100 skrev Ford, Alan: > > Well that would certainly be a great solution for many use cases. If > > there was a distributed set of virtual hosts of a given server, I can > > see that working quite well. Plus, this would solve the ETag issue that > > I mention (assuming I have understood correctly - nobody has yet > > corrected me!), since in this case the client /is/ requesting the same > > resource from each IP address. > > ETag is per URI, but it is entirely fine for a specification like this > to require that the participating servers use the same ETag for the same > object version, for example based on an hash of the object data. How > servers compose ETag is outside of HTTP specification and a property of > the server implementation, only requirement HTTP places is uniqueness > among versions or variants of the same URI. The base HTTP specifications > places no direct requirements on how ETag from different URIs relate to > each other, but do hint that for objects having multiple URIs where > those URIs are equal it's expected the ETag would also be the same. > > However, many server implementations available today do not easily allow > this on the wide scale you require without additions on the server, as > they base ETag on other metadata that may differ between mirrors of the > same object such as local file timestamp, filesystem inode numbers etc, > not really taking the actual content of the object into consideration. > > Regards > Henrik -- Roke Manor Research Ltd, Romsey, Hampshire, SO51 0ZN, United Kingdom A Siemens company Registered in England & Wales at: Siemens plc, Faraday House, Sir William Siemens Square, Frimley, Camberley, GU16 8QD. Registered No: 267550 ------------------------------------------------------------------------ Visit our website at www.roke.co.uk ------------------------------------------------------------------------ The information contained in this e-mail and any attachments is proprietary to Roke Manor Research Ltd and must not be passed to any third party without permission. This communication is for information only and shall not create or change any contractual relationship. ------------------------------------------------------------------------ Please consider the environment before printing this email
Received on Friday, 28 August 2009 11:39:31 UTC