diff --git a/Extensions.md b/Extensions.md index 5128963..2fe9ee4 100644 --- a/Extensions.md +++ b/Extensions.md @@ -15,16 +15,18 @@ None known yet... Tahoe URIs may refer to either immutable or mutable content. URIs for immutable data are simple to cache by mapping the URI to the contents. -Mutability is independent of read-only capabilities. A read-only capability may refer to mutable content. +Mutability is independent of read-only capabilities. A read-only capability may refer to mutable content (i.e. *you* can't write to it, but somebody else might be able to). To determine the mutability of a URI, parse the second field of the URI (delimited by ':'): * URI:CHK:... : immutable * URI:LIT:... : immutable + * URI:SSK:... : mutable, writable + * URI:SSK-RO:... : mutable, not writable * URI:DIR:... : mutable, writable * URI:DIR-RO:... : mutable, not writable -Note: Currently all files are immutable, and all directories are mutable, but in the future the node type (file or directory) and the mutability will be independent. It's a bad idea to rely on the node type to determine mutability. +Note: Currently most files are immutable, and all directories are mutable, but in the future the node type (file or directory) and the mutability will be independent. It's a bad idea to rely on the node type to determine mutability. ### HTTP methods @@ -34,13 +36,11 @@ The api relies on four HTTP methods defined as per the standard `GET, POST, PUT, Although these are standard HTTP methods, some clients do not offer good support for them. * The following clients are known to support all methods: * [curl](http://curl.haxx.se/) is an open source client which supports arbitrary methods with the '-X' option. + * Python 2.5's stdlib modules (`httplib`, `urllib`) provide good support for arbitrary methods. * The following clients do not seem to support either `PUT` and `DELETE`: * ... * We have not yet determined if the following have support for arbitrary methods: - * Common web browsers. - * Python 2.5's stdlib: - * `httplib` - * `urllib` + * Common web browsers. In general, HTML forms can only cause GET and POST operations. Javascript might have more abilities. ### Race Conditions