[Box Backup] Alternate server

Stuart D. Gathman boxbackup@fluffy.co.uk
Wed, 23 Apr 2008 20:46:01 -0400 (EDT)


On Wed, 23 Apr 2008, Chris Wilson wrote:

> > For this, just use a local web server with PUT/DELETE enabled.  Put
> > warnings in, and rely on early adopters to test with actual S3.  Should
> > just be a change of URL and authentication.
> 
> How will I know that it behaves the same as S3? Especially with regard to 
> some features that might be useful, such as partial file retrieval with 
> Byte-Range. Also, what webserver supports this?

Apache supports put/delete and byte-range.  However, I am looking at
the S3 docs.  Amazon says max object is now 5G.  Still will need 
splitting, just harder to test :-) 

S3 does not use basic authentication over https, it uses http
(you need to store encrypted files for privacy) and their
own custom AWS authentication.  You could still do useful testing
with Basic authentication (uses same header) on a local server.

S3 using the REST interface will store arbitrary metadata using
custom HTTP headers, and supports md5 based if-modified.  That, and the XML
responses for errors and retrieving buckets (directories) would require servlet
emulation.  (Apache returns HTML intended to display as a directory when
you GET a directory.)

So, while I think you *could* write a storage engine that worked with
both S3 and apache, it would use only a subset of functionality.

I would agree that the emulator is the way to go.

-- 
	      Stuart D. Gathman <stuart@bmsi.com>
    Business Management Systems Inc.  Phone: 703 591-0911 Fax: 703 591-6154
"Confutatis maledictis, flammis acribus addictis" - background song for
a Microsoft sponsored "Where do you want to go from here?" commercial.