This article gives a brief introduction to the File Transfer Protocol, or FTP. It is essential that everyone building a web site knows what FTP is and knows how to use FTP. To find out more, continue reading.
slide 1 of 1
Sending and receiving files is essentially what you do on the internet every day. Every time you look at a web page your browser is receiving a number of files in the background, including pictures, Flash animations and HTML (the text and formatting) documents. You may have also exchanged files using your instant messenger application, or through attachments to emails. FTP, which stands for File Transfer Protocol, is just another means of moving files across internet.
Transferring files using FTP requires a server and a client. The server is usually the computer that hosts the files to be distributed, and the clients connect to it across the network to view, download or upload files. To run an FTP server you need some specialized software like Microsoft Internet Information Server (which is included with Windows), the FileZilla FTP Server or any number of commercial FTP servers. FTP clients come in a number of different formats. You might not be aware of it, but the web browser you are using right now is most likely also an FTP client. Any time you see a link in you status bar that looks like ftp://example.com/file.zip you are actually downloading a file using FTP. Most operating systems also include a command line version of an FTP client by default. However to make the most of FTP you need a specialized FTP client, which will allow you to access the files on an FTP server much like you access the files in Windows using Explorer. Again there are a number of free options like SmartFTP or the FileZilla FTP Client, and many more commercial options.
FTP has a number of advantages over some other forms of file transfer. Imagine a company that wants to make it's documents available to it's employees while they are on the road. Emailing every document as an attachment would be a very tedious process, as would using an IM application. In contrast an FTP server could be set up to make all the documents available, allowing the employees to simply log in and see an automatically up to date list of files which they could then download at their leisure. Once an FTP server is up and running it eliminates the need for someone in the office to manually distribute the files. It's also worth noting that Macs, Windows and Linux clients can all connect interchangeably via FTP with no special configuration.
FTP does have some downsides though. While a server can be password protected the user name and password themselves are not encrypted while being sent across the internet. This means that the credentials are vulnerable to eavesdropping, and this can be a significant security risk. While there are more secure ways to transmit the FTP credentials, like SFTP (SSH File Transfer Protocol) or FTPS (FTP over SSL), these require some additional configuration. For this reason FTP is most commonly used as a way of distributing publicly available information using the standard anonymous credentials.
While the security vulnerabilities make FTP less appealing when distributing sensitive information, as a means of distributing public documents it is a very convenient and cost effective solution.