FTP or the File Transfer Protocol is a set of rules used by programs to transfer files from one computer to another on the internet. In terms of the web, FTP is as old as the hills. It was first developed in the 1970s for military computers and universities, decades before the first website was built. For us, the most common use of FTP is to upload and download files from our workstation computer to a remote server hosting a website.
How do I FTP?
To transfer files via FTP you need an FTP client program on your computer and an FTP server program on the computer you want to exchange files with. We use FileZilla as an FTP client because it works well and hides all the complex workings of FTP behind a user-friendly interface. You simply enter the parameters for connecting to the FTP server and click connect. We use very secure FTP daemon as our FTP server of choice, because our servers use Linux based operating systems.
Access to an FTP server is usually granted when the client sends a correct user name and password to the server.
FTP is a protocol with a rather glaring security problem. Files sent over the internet via FTP travel in plain text form, meaning they can be easily read if intercepted. The initial login credentials are also sent in plain text form and can also be read by anyone who intercepts the data. To combat this problem, the FTP protocol was extended to include encryption with SSL technology. The extension is called FTPS and should be used instead of FTP whenever possible. It is up to the FTP server owner to implement FTPS, so this may not always be under your control. FTPS has been around for over 20 years now, but sensitive files out in the wild are still frequently transmitted with plain old FTP.
An even more secure protocol for transferring files is SFTP or SSH File Transfer Protocol. Despite having a similar name, SFTP is a completely different protocol built to operate over an SSH connection. The SSH connection encrypts all commands and files as they are transferred, meaning anyone intercepting the connection will be reading gibberish. The only downside to SFTP is that setting it up is more work.
Read more about FTP at this JSCAPE blog article and the FTP Wikipedia article.