File Transfer Protocol (FTP) is the original protocol used on the Internet for transferring files. Although HTTP can be used to transfer files as well, the transfer is often not as reliable or as fast as with FTP. In addition, FTP can do the transfer with security and data integrity. FTP uses TCP ports 21 and 20 by default.
FTP sites are either anonymous sites, meaning that anyone can log on, or secured sites, meaning that you must have a user name and password to be able to access the site and transfer files. A single FTP site can offer both anonymous access and protected access, but you'll see different resources depending on which way you log in.
FTP Servers and FTP Clients
The FTP server does all the real work of storing the files, accepting incoming connections and verifying user names and passwords, and transferring the files. The client logs onto the FTP server (either from a Web site, a command line, or a special FTP application) and downloads the requested files onto the local hard drive.
FTP Servers We don't set up servers for Internet applications nearly as often as we set up clients. Set up only a few Web servers over the years whereas set up thousands of Web browsers. FTP servers are the one exception, as we nerds like to exchange files. If you have a file you wish to share with a lot of people (but not the entire Internet), there are few options better than whipping up a quick FTP server. Most versions of Linux/UNIX have built-in FTP servers, but many third-party applications offer better solutions. One of the best, especially for those "let me put up an FTP server so you guys can get a copy" type of situations is Mozilla's FileZilla Server.
NOTE Most Web servers are also FTP servers. These bundled versions of FTP servers are robust, but do not provide all the options one might want.
FTP is not very secure so you don't want to use FTP for sensitive data. But you can add user names and passwords to prevent all but the most serious hackers from accessing your FTP server. Avoid using the anonymous login unless worried about who gets a hold of the files offering on my FTP server.
Another thing to check when deciding on an FTP server setup is the number of clients you want to support. Most anonymous FTP sites limit the number of users who may download at any one time to around 500. This protects you from a sudden influx of users flooding your server and eating up all your Internet bandwidth.
FTP Clients FTP clients, as noted before, can access an FTP server through a Web site, a command line, or a special FTP application. Usually, special FTP applications offer the most choices for accessing and using an FTP site.
NOTE Every operating system has a command-line FTP client. Avoid using them unless I have no other choice, because they lack important features like the ability to save FTP connections to use again later.
The best way to use FTP is to use a dedicated FTP client. There are so many good ones that find myself using a different one all the time. FileZilla comes in a client version, but these days using an add-on to Firefox called FireFTP.
NOTE Firefox enables programmers to create add-ons, small programs that extend the capabilities of the browser with some pretty impressive results. Are you unfamiliar with Firefox add-ons? Start Firefox. Click Tools/Add-ons and a whole new world will open for you. A couple of my favorites are Mouse Gestures-where you can flick the mouse left or right to navigate through windows and Web sites you've visited-and Speed Dial-quick access to your favorite sites.
In this tutorial:
- TCP/IP Applications
- Transport Layer Protocols
- The Power of Port Numbers
- Registered Ports
- Connection Status
- Rules for Determining Good vs. Bad Communications
- Common TCP/IP Applications
- Publishing Web Pages
- Web Servers and Web Clients
- Secure Sockets Layer and HTTPS
- Telnet Servers and Clients
- Configuring a Telnet Client
- Rlogin, RSH, and RCP
- SSH and the Death of Telnet
- SMTP, POP3, and IMAP4
- Alternatives to SMTP, POP3, and IMAP4
- E-mail Servers
- Passive vs. Active FTP