FTP: File Transfer Protocol
What Does It Do?
by John Woody
Any discussion of FTP (File Transfer Protocol) must be accompanied by a short review of the Internet basics. Under all this glitzy, we need to remember that the Internet protocols do three functions: e-mail, file transfer, and remote log in. File Transfer Protocol or FTP as it is known is one of the first client applications developed, primarily for the movement of data files from one Internet location to another. Its latest versions are as important to the serious researcher as it was in the beginning.
Command Line FTP
FTP is a client application used under the TCP/IP (Transmission Control Protocol / Internet Protocol) protocols. It in fact, is mis-named, File Transfer Protocol implies that it is a protocol or standard. It is not quite that. The Founding Fathers were a little confused as to standards and applications. FTP is now called an "application protocol" by some writers. FTP is really a client application.
Remember, in 1968, there were very few users, who all knew each other, and knew where the files might be located. This location knowledge was important because FTP does not search for files, but only transfers them from their exact remote location to another location.
Actually, FTP works both directions, in that you can transfer your files to another location as well as bring them into your computer from the remote location. FTP is a client/server application as all TCP/IP applications. FTP’s job is to move files from one location to another. It does not matter where the computers are located, how they are connected, or whether they use the same operating system.
FTP was responsible for the development of many database services along the growth of the Internet. From the beginning, information was stored in databases which covered every imaginal subject from legal opinions to recipes to public software on public server computers which could be accessed by users. Some FTP servers required a password to gain access, while other servers were truly public and were accessed anonymously. FTP servers remain in the Internet in great numbers. Data stored in their archives is rich in content and vast in quantity. And the neat part of it is, that these "application protocols" are layered in the TCP/IP standards for seamless operation every time. FTP works seamlessly from within our browsers, but more on that later.
FTP has always been a complex program because there are different ways to handle the files and file structures in the various FTP archives. This was and is especially true when used from the command line. In the beginning, it was used from the UNIX command line and had to handle different ways of archived files. Files were stored either as binary or ASCII by writers or server maintainers. And, some files were compressed, while others were not. Finally, in the UNIX world, the transfer process was in two parts. File movement in either direction meant that one had to first direct the program to upload or download the file to one’s own server before moving it to the final location. A download FTP transfer was first moved from the archive server to your own server, then the file was moved from your server to your computer. An uploaded file had to go through the reverse process, from your computer to your server, then to the remote location. This has all changed in the graphics OS (Windows) environment, but more on that later.
Files located in non-public FTP servers required that one log in with a password to gain access. Then exercise the above procedures. There was also a method of gaining access to public FTP servers through a process known as ANONYMOUS FTP. ANONYMOUS FTP allows one to log into any FTP server with public access whether you have an account or password at that server or not. In this procedure, you log in as ANONYMOUS, then enter your e-mail address at the <password> prompt. Anonymous FTP is by far the most used FTP application, even today.
In the beginning, FTP had very limited search, ie., directory browsing capability. One almost had to know the exact directory location on the server to complete the FTP operation. Other client programs were developed to make file searching really possible. Most notably, GOPHER, was that program, the first stateless search application. But that is another article.
Graphics (Windows) FTP
ASCII mode is used to transfer plain text files such as README.TXT or files known to be archived in .TXT form. Binary archives hold everything including text, drawings, executable files, or graphics. Files copied in ASCII form are adjusted by FTP to conform to the text conventions of the receiving computer. Binary code files copied by FTP, are transferred verbatim. Windows FTP application programs give one the option to set the mode before the transfer is made. It is suggested that one use binary code to copy anything that isn’t a plain text file including archives or compressed files that contain text files. Windows 3.xx and Windows 95/98 FTP programs all use point and click to make the connection. An old Internet Program Suite, Chameleon, I have used contains a Windows version FTP application. Other programs are similar in their setup and presentation. I currently use CuteFTP, a downloaded program from one of the software download sites.
Most Windows FTP applications have two sides in the opening screen. The left side is usually entitled "Local" meaning your computer directories and the right side entitled "Remote" containing the FTP server directories. Subdirectories display in the top parts of these windows and files display in the lower parts. The center section of the screen usually provides choices which govern how the transfer is to take place, ie., ASCII or Binary, control direction to and from your computer and the remote site and file control with arrows pointing either to the local or remote side. Normally, the standard Windows pull down menu headings are at the top of the screen. These menu headings open other screens. For example, File controls what to open, save, print, and exit.
Connect opens the screen from which the remote server can be identified. The Host name, User, Password, System (network protocol, etc.), and in my application a window for pre-set hosts from which I use as the FTP address book to set the Connect screen. Finally in this screen there are buttons for OK (start the session) Cancel, and Reset.
The main screen Setting pull down menu item provides setup for Preferences, Log, and Connection Profile. Each of these selections opens another setup screen. Of importance is the Connection Profile which is the "address book" entry screen. This is where remote FTP servers which you want to go back to are entered and saved. The Connection Profile screen has three sections, each for control of part of the FTP session. Description names the profile. Host provides the remote FTP site name, the port, and in my case, the network. It should be noted here that all FTP servers are addressed as:ftp.name.domain. FTP. in the address is not actually required for most FTP applications. It is a good idea to be complete in all addresses, however. Log in provides for User, usually Anonymous, Password, usually e-mail address, and Account for controlled FTP. The third section provides for the local and remote directories. Buttons on the right control the permanent addition of this Connection Profile to the setup. It is this information one sees in the Connect description window.
FTP applications upload/downloads normally run faster than upload/downloads through the WWW. This is because there are not as many layers of IP protocols to go through to slow the transfer down. FTP downloads can be made from WWW browsers, but uploads can not be made easily. There is a way to do FTP uploads in Netscape, but you have to remember to use the File | Upload menu choice, placing FTP:// as part of the address prefix.
John Woody is a networking communications consultant specializing in small office, home office networks, training setup, and internet connectivity.