[Twisted-Python] WebDAV / FTP / etc.

Itamar Shtull-Trauring twisted at itamarst.org
Sat Apr 27 10:56:59 EDT 2002

Various thoughts - if someone ever implements this stuff or refactors 
FTP server, talk to me first.

1. WebDAV, FTP, sftp, HTTP for file serving - they're all basically 
using three interfaces (only WebDAV makes this explicit.)

   ICollection - collection of IEntities (a "directory")
   IEntity - an entity that stores data (a "file")
   IProperyManager - set and get properties (implemented by ICollections
                     and IEntities.)

So, we define the interfaces, and then write at least one implemntation, 
a filesystem backed one. FTP, WebDAV and twisted.web.static would all 
depend on these interfaces, and given a FS-backed implementation could 
serve files.

2. WebDAV does *not* depend on twisted.web - it's a separate HTTP-based 
protocol. Note that WebDAV has its own port (e.g. because it breaks with 
certain web proxies) and in general the concept of twisted.web's 
Resource doesn't map to WebDAV, since WebDAV isn't supposed to be 
*doing* stuff, it's for *editing* entities.

More information about the Twisted-Python mailing list