[tahoe-dev] proposal for an HTTP-based storage protocol
Kevin Reid
kpreid at switchb.org
Sun Sep 26 17:44:22 UTC 2010
On Sep 26, 2010, at 12:03, Ravi Pinjala wrote:
> The trouble with using the xmlns to identify the interface is that it
> complicates parsing a bit - clients have to support separate formats
> for each interface.
Could you explain this further?
>>> * URL of a document stored on the server:
>>> http://server.address/data/foo/bar
>>>
>>> * URL of the metadata for said document:
>>> http://server.address/metadata/foo/bar
>>>
>>> * Example of direct access to a metadata key:
>>> http://server.address/metadata/foo/bar?mtime
>>
>> It should be explicitly part of the definition of the data and
>> metadata
>> modules that they define these path patterns (underneath the path=
>> URL).
>
> Mmm, what do you mean? I'm not really seeing what you're saying here.
It's one of the REST principles: the client should never construct a
URL according to its own rules, but rather only use links and forms
returned by the service. In this case since the objects are identified
by pathnames it is natural for the "form" to be "use the pathname as a
URL relative to the root specified for this interface in the discovery
document", but this should be explicitly part of the specification of
these interfaces rather than a global assumption that URLs are of the
form /<interface path>/<file path>.
I admit this is a particularly degenerate case of this principle, but
I think following the principle is a good thing in principle. Ahem.
> Do we actually need server-side verification of data? We already let
> clients upload whatever they want to servers, as long as it's properly
> formatted as a share.
Yes, but they can't upload something that looks like a share of file A
but actually contains some other content (unless they find a hash
collision).
--
Kevin Reid <http://switchb.org/kpreid/>
More information about the tahoe-dev
mailing list