[tahoe-dev] [tahoe-lafs] #510: use plain HTTP for storage server protocol?

tahoe-lafs trac at allmydata.org
Mon Mar 1 19:08:02 PST 2010


#510: use plain HTTP for storage server protocol?
--------------------------+-------------------------------------------------
 Reporter:  warner        |           Owner:       
     Type:  enhancement   |          Status:  new  
 Priority:  major         |       Milestone:  2.0.0
Component:  code-storage  |         Version:  1.2.0
 Keywords:  standards     |   Launchpad_bug:       
--------------------------+-------------------------------------------------
Changes (by davidsarah):

  * keywords:  => standards


Comment:

 Replying to [comment:4 jrydberg]:
 > "PUT /shares/SI/SHNUM, which works only once"  - Shouldn't POST be used
 rather than PUT?  PUT is idempotent.

 PUTting a share would be idempotent, because "(aside from error or
 expiration issues) the side-effects of N > 0 identical requests is the
 same as for a single request"
 (http://tools.ietf.org/html/rfc2616#section-9.1). I.e. repeating the
 request can have no harmful effect. (Note that, assuming the collision-
 resistence of the hash, there is only one possible valid contents for the
 share at a given SI and SHNUM.)

 HTTP doesn't require that an idempotent request always succeeds. The only
 ways in which client behaviour is specified to depend on idempotence are:

 * If there is an asynchronous close during a sequence of idempotent
 requests, clients SHOULD retry the request sequence once without user
 interaction (http://tools.ietf.org/html/rfc2616#section-8.1.4).
 * Idempotent requests can be pipelined
 (http://tools.ietf.org/html/rfc2616#section-8.1.2.2).

 These are both desirable for uploading of shares.

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/510#comment:5>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list