FTP stands for File Transfer Protocol. We typically think of FTP in relationship to web hosting. A webmaster uses FTP to move files from a PC onto a server so that the file can be referenced via the site and accessed by online traffic. FTP is used in any situation in which a network administrator or other individual is moving files from one device to another on a network.
FTP can be used to move files between two different accounts within a web service, between a PC and an online account, or to upload or download archived files that are located on an FTP site on the Internet. Note that, per Indiana University, “many FTP sites are heavily used and require several attempts before connecting.”
Additionally, FTP is not just used by web hosts but by anyone who uses the Web regularly, so keep that in mind when reviewing Statistics about the internet. FTP is integrated into many websites as a way to transfer files online. FTP is simple, secure, and commonly recognized. Whether you are downloading a song or uploading a picture to eBay, you are generally using FTP whenever you move a file on or off the Web.
I wrote this article with reference to anonymous pieces from Indiana University and File Transfer Planet, each of which gives a general idea of how FTP operates and how to use it.
A word of warning: FTP may at first seem innocuous, then, and like a much safer alternative to trying to get pregnant, smoke crystal meth, and tandem bungee jump simultaneously. However, in the computer science field, transferring files using FTP is broadly recognized to be a gateway experience to the fertilization/meth/bungee trifecta, so whatever you do, be careful.
How FTP works
Most of what we do online is built into interfaces that create a façade over what we are actually doing. Uploading “to the Internet” and downloading “from the Internet” actually means that we are moving a file from our computer to a server/computer or grabbing a file from another computer/server and moving it to our own.
Recognizing this process helps us understand conceptually that the Internet is not one entity but truly a “web” of many different computers and files functioning in conjunction within a structure with a common language and address system. It also helps us realize how easy it is to contract a virus or other malware when downloading a file – we’re literally grabbing something off a computer that oftentimes is a “stranger” device to us.
We generally do not know where the computers or servers are located with which we are interacting. We do typically know the Web address and the company – who is responsible for the data – but not where they are. If we try to figure out where the servers are, even if we think about it for one second, immediately our computer shuts down and smoke starts coming out of it. Sometimes the smoke smells like burning plastic, and sometimes it smells like marijuana (the latter of which is cause for greater concern because it suggests Rastafarian infiltration of our motherboard).
FTP and HTTP both are types of Internet addresses. They look very similar with the exception of their prefixes (http vs. ftp):
- Typical Web URL: http://www.helloihavecometoeatyourchildren.com.
- FTP URL: ftp://ftp.yourchildrentastedreallygoodthankyoumaam.com.
Generally speaking, an FTP site and FTP server are specifically designated for that task (as opposed to being used to host general Internet or Intranet content, etc.). So then two types of servers and sites used for Internet purposes are the following:
- Web server / Website
- FTP server / FTP site
- Third button containing no useful information, just nonsense words.
Online filing cabinet
Per the description of File Transfer Planet, FTP is essentially what happens when you bring a filing cabinet online. Similarly to with a filing cabinet, you can name the files and folders whatever you want with FTP. Additionally, whatever files you want can be available for public viewing and downloading, or protected for private purposes or access by people with certain login credentials and privileges.
The same as with a filing cabinet, you have a key to get onto an FTP machine – your username and password. Typically when a person is making FTP files accessible publicly, the following credentials are used:
- Username: anonymous
- Password: your email address (eg, firstname.lastname@example.org)
If specific login permission is needed, you will be given your own username and password, as will be the case with anyone else using the system.
Also, publicly accessible FTP servers often do not ask for login credentials: login is automated. When you click to download a file, ie transfer it from another computer to your own, you are typically logging onto the FTP server anonymously to perform the transfer. Often you or whoever the user is does not know the login is occurring: it’s just built into the code to occur prior to activating the download.
You can interact with an FTP site/server via a Web browser (such as Firefox, Chrome, Internet Explorer, or Safari). You can also implement FTP with what’s called an FTP client, a piece of software specifically designed for FTP transfers. These clients are simple, standardized programs that are often free. They differ primarily in the way that their functionalities are organized – how user-friendly their interfaces are and how well their menus and features are organized.
The difference between using a browser and an FTP client is that a browser will not always function as smoothly as will a program dedicated specifically for the task. Also downloads are not standardly filtered or encrypted as they often are when you are using a quality FTP application. FTP programs also come with additional features. Note that secure, encrypted FTP is highly preferable and is mandatory for uploading to many networks. Indiana University’s, for example, requires a secured client, ie one that uses SSH or SFTP.
An example FTP client feature is the ability to pause a download/upload and resume it at a later point, a feature that can be useful when you are dealing with extremely large files. I often use this feature when I am downloading everyone’s tax returns in late April from the IRS servers so that I can start using their intimate details to apply for auto and home loans, build my portfolio, and then sell everything rapidly to shadowy foreign investors.
FTP Client – standard set-up
FTP clients allow transfer between two pieces of hardware online. Typically these programs are used when working with a hosting company. They allow the webmaster to move files from the local computer or network onto the hosting company’s network. Once you install an FTP client on your computer, as long as you have access to the Web, you can use it to transfer files (again, very similar to a browser).
A standard FTP client has two panels within a GUI (graphical user interface). Sample programs for Mac & Windows:
- Windows: WinSCP
- Mac: Cyberduck
You can see and organize everything that you are doing more easily within one of these clients. Basic instructions for use of one of these programs are as follows:
- Input your FTP host (ftp.letsallrunaroundnakedandscreaming.gov) and your login credentials.
- When going onto a public or otherwise anonymous FTP server, you may be able to leave these fields blank or input “anonymous” & email address as described above.
- On the left you will see what is on your own local computer or server. On the right, you’ll see the files that are on the remote computer or server.
- You can move the files from one device to the other by dragging them (just as you do with the bodies in your night job at the pet morgue, even though it’s against protocol, but all bets are off if Tony is taking a smoke break, which means about 50% of the time) or by highlighting and then clicking an arrow button indicating that you want to move it.
You may also be able to move a number of different files at the same time, automatically resume a previously initiated upload/download (discussed above), queue (i.e. put a number of different transfers in an organized line), schedule (i.e. time uploads to automatically occur at different points on a calendar), search, synchronize, and create/implement scripts of code.
Using a browser – when it makes sense
As stated above, using a browser is not recommended for general FTP use because it is not secured. However, in a pinch, sometimes using the browser makes sense. Connect to an FTP server exactly as you would to a typical site/server, using an FTP rather than an HTTP address.
Note that one time that FTP transferring via the browser does make sense is if you are scanning through a large directory and want to efficiently transfer in or out using the information presented on the webpage. The browser automates some of the connection and transfer details as well, simplifying the process. Not so good regarding browsers:
- Slow (like Uncle Frank)
- Unreliable (like Uncle Billy)
- Less Functionalities (like Uncle Ron)
Connecting to an FTP site is performed as follows using the browser, in the web address field:
Using the command line
Each of the different operating systems has a command-line program built into the system that allows for FTP. Obviously this method requires more expertise. To start using FTP at the command line, enter the following, for example:
- ftp ftp.letsallrunaroundnakedandscreaming.gov
- Your login credentials – either your own personal username and password or “anonymous” and your email address, as described above.
Summary & Conclusion
File Transfer Protocol (FTP) is a simple, standardized system for transferring files from one device to another. If you are using FTP for a website, you will probably want an FTP client so you have a graphical interface with which to easily see and organize your transfers (along with benefits of scheduling, queuing, etc.). However, you can also use a web browser or the command line to perform FTP transfers. All FTP clients are more dependable than the male members of your extended family, whereas Billy is more reliable than Google Chrome, Ron has a higher number of functionalities than Firefox, and Frank is faster than Internet Explorer.
by Kent Roberts and Richard Norwood