Chapter 2.3. File Transfer Protocol


The File Transfer Protocol or FTP is one of the earliest protocols in the Internet. The first RFC describing FTP was released in 1972 (RFC 959) and it was standardized in 1982 (STD 9). For comparison, the HTTP/1.0 RFC was not released until 1996.

HTTP and FTP can both be used to transfer objects or files over the network, but they do so in very different ways. HTTP focuses on the transfer of files for immediate viewing and short-term caching on clients. Recall the different headers that specify caching behavior. HTTP also focuses on the presentation of information including headers that specify file formats so that the web browser can correctly interpret the contents. FTP, on the other hand, focuses more exclusively on the transfer of the data. Leaving it the user to decide how long the file will remain on the local machine or what to do with the data.

FTP is a stateful protocol (unlike HTTP which is a stateless protocol). FTP clients establish an on-going session with a server and can use this session to issue multiple requests. A username and password are specified to initiate the session. However, many FTP servers allow public access through connections in which clients specify the username "anonymous" and then set the password value to anything they want.

Once connected, an FTP session behaves much like a command shell. Users are provided with a prompt and can browse through a set of files and directories. As users move through the ...

Get Computer Networking: Internet Protocols in Action now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.