|
Transmit
Transmit for OS/X implementation details
clients TransmitTransmit is a commercial WebDAV (as well as sftp and ftp) client for OS/X. It can either browse WebDAV sites in a simple browser, but it's also capable of mounting WebDAV drives using MacFuse. Implementor notesTransmit 4 had issues with multiple namespace declarations (DAV: appeared twice). This bug was promised to be fixed in a next version of Transmit, but it's also fixed in SabreDAV since 1.2.0beta1. Transmit's client is much better than the built-in OS/X one. It makes far less request, as it seems to buffer all modifications for a while. Because of this it's much more responsive uses far less HTTP requests / bandwidth. Chunked Request Body problemTransmit suffers from the same issue as the OS/X client, where it sends all HTTP PUT requests as 'Chunked' transfer encoding. This is not supported by many servers, such as lighttpd and nginx, as well as using apache + fastcgi. If you plan to support Transmit you are strongly adviced to just use apache + mod_php. Protocol detailsTransmit uses the following user agent:
Transmit first does an OPTIONS request on the url, and then a propfind only requesting the {DAV:}resourcetype property. Once it's sure it's dealing with a collection, it requests the following properties (depth: 1):
When transmit is used to mount the webdav share, the following ueragent is used:
It requests for the same properties as before, as well as the following:
The last 2 are non-standard. Transmit (or OS/X) also seems to create a .Trashes folder as soon as the connection is made. | |