The World Wide Web (WWW) was originally developed to be both a readable and writable medium. As the Web developed, for most people it became just a readable medium, as most Web browsers did not support writing to the Web. This created a few obstacles to Tim Berners-Lee’s dream to develop an interactive, collaborative, media.1
However, as obstacles are meant to be overcome, people found various crevices through what was becoming a one-way wall. Bozinis2 provides a humorous, though not totally unrealistic take on this situation, at least for people without virtual private networks (VPN), with his list of options for transferring files:
- Luddite: Put said files in a CDROM, snail-mail or hand deliver to remote location, use CDROM to import files to remote computer.
- Manager: Instruct secretary to attach files to e-mail and dispatch electronically. Keep fingers crossed that spam or attachment filters won’t get the best of you.
- Junior hacker: Upload files to free file hosting service (rapidshare.com, et al). Email download link to recipient. Preferably use your own WiFi connection
- Old hand: Establish FTP connection to remote server and upload files. Offer frequent tidings to security gods to keep eavesdroppers and packet sniffers at bay.
Even today, the file transfer protocol (FTP), which was developed in the early seventies, is still the way that many people upload Web pages. There are likely those out there who will say “What’s wrong with that? After all, FTP has been around for years and is very reliable.” Depending on how you wish to look at the situation, they might be right, after all, this approach has worked for quite a while.
However… there are more than a couple of problems with this approach:
- Employing FTP for the transfer requires at least 1 + n connections.3 The first, or primary connection, is used to send control commands to the FTP server. The ‘n’ connections are the ones actually used to transfer data, and you need an additional one for each file transferred.4
- The use of multiple connections with FTP, one of which uses a dynamic port can make it exceedingly difficult to configure your firewall correctly. Some hardware might not be able to handle it at all.3
- If both the server and client are using network address translation (NAT), then FTP cannot be supported at all.3
- Vanilla FTP transmits everything in clear, even passwords. There are workarounds, but the number are limited.
- As FTP does not use port 80, the standard port for the World Wide Web, it is much easier to block with firewalls.
So, what is one to do? Well, if you are a typical hacker, you invent something. In this case, that something is called Web-based Distributed Authoring and Versioning, more commonly known as WebDAV, and the specifications for it were created by an Internet Engineering Task Force (IETF) group headed by James Whitehead, Jr.5 Depending on what you want to do with it, FTP and WebDAV can seem similar, in at least both can transfer files. As with many things on the Web, I’ve seen countless arguments regarding which is faster. As usual, there are many reasonable-sounding arguments, such as FTP doesn’t have any metadata overhead or WebDAV can reuse existing connections. I suspect this is another case of ‘it all depends.’
Withal, arguing about which one is faster is missing the whole point. WebDAV was designed to restore Tim Berners-Lee’s dream of the Web being a read/write media.6 Through a variety of features, it succeeds in making the Web a collaborative media. Additionally, it does this in a way that makes it platform-independent, for WebDAV is not an application or an application program interface (API). It is an actual suite of extensions to the hypertext transfer protocol (HTTP) that the Web is based on. As such, it can transfer any type of data.
Its file locking mechanism allows remote teams to collaborate on the same file. When one user checks out the file for editing, no one else can access it. This eliminates the issue of one person’s update overwriting another’s.
WebDAV uses XML to store metadata regarding the document. This information might include such things as who last edited the document, the version number of the document, etcetera. The access control features of WebDAV allows one to define the list of developers collaborating on a project. WebDAV and its extensions allow you to readily search both the document and its metadata.
Unlike with FTP, WebDAV allows you to edit a file in-place. Files does not need to first be downloaded to your local computer, edited, then uploaded again.
People have found many additional uses for WebDAV. It has been stated that the majority of open source methods designed to synchronize files and folders relay on WebDAV.7 Additional details regarding WebDAV versioning and other extensions can be found in the paper by Kim, et al.7
If you look at the documentation for many ‘FTP’ programs, such as CuteFTP,9 you’ll find that they include support for WebDAV as well. In addition to WebDAV implementations for Windows and Linux, you’ll find multiple versions targeting Apple and Android as well. A quick look at Google Play lists over 50 different WebDAV clients and servers,10 many free. I’ve personally had good luck using WebDAV Nav Lite. While I’ve found FTP very useful over the years, it’s nice to not have to depend on a single tool.
REFERENCES
- T. Berners-Lee, M. Fischetti, Weaving the Web: the original design and ultimate destiny of the World Wide Web by its inventor, 1st ed, HarperSanFrancisco, San Francisco, 1999. http://www.harpercollins.com/9780062515872/weaving-the-web
- N. Bozinis, xplorer2 blog: WebDAV (webfolders), the “new” secure FTP, Zabkat. (2008). http://www.zabkat.com/blog/09Mar08.htm (accessed June 22, 2015).
- D. Stenberg, FTP vs HTTP, Daniel.haxx.se. (2015). http://daniel.haxx.se/docs/ftp-vs-http.html (accessed June 22, 2015).
- F. Lowney, WebDAV vs FTP, not an easy choice from Frank Lowney on 2003-06-29 ([email protected] from April to June 2003), W3c-Dist-Authw3org. (2003). http://lists.w3.org/Archives/Public/w3c-dist-auth/2003AprJun/0149.html (accessed June 21, 2015).
- E.J. Whitehead Jr., Collaborative Authoring on the Web: Introducing WebDAV, Bull. Am. Soc. Inf. Sci. 25 (1998) 25–29. doi:DOI: 10.1002/bult.107.
- WebDAV: IETF Standard for Collaborative Authoring on the Web | Intention Perception, (n.d.). http://intentionperception.org/2007/11/webdav-ietf-standard-for-collaborative-authoring-on-the-web/ (accessed June 22, 2015).
- Distributed Authoring and Versioning: A Primer, Digit. Peak. (2015). https://joomla.digital-peak.com/blog/187-distributed-authoring-and-versioning-a-primer (accessed June 23, 2015).
- S. Kim, K. Pan, E. Sinderson, E.J. Whitehead Jr., Architecture and Data Model of a WebDAV-based Collaborative System, in: W.W. Smari, W. McQuay (Eds.), Proc. 2004 Int. Symp. Collab. Technol. Syst. CTS 2004, Society for Modeling and Simulation International, San Diego, CA, 2003: pp. 48–55. https://users.soe.ucsc.edu/~ejw/papers/kim_cts04.pdf
- CuteFTP 9 – FTP Client for Top Security and Simplicity, CuteFTP. (2015). http://www.cuteftp.com/cuteftp/ (accessed June 21, 2015).
- Google Play, WebDAV – Android Apps on Google Play, Google Play. (2015). https://play.google.com/store/search?q=WebDAV&c=apps (accessed June 23, 2015).
John Joyce is a laboratory informatics specialist based in Richmond, VA. He may be reached at [email protected].