Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Enjoy The TCP/IP Guide? Get the complete PDF!
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Key Applications and Application Protocols
           9  TCP/IP File and Message Transfer Applications and Protocols (FTP, TFTP, Electronic Mail, USENET, HTTP/WWW, Gopher)
                9  TCP/IP General File Transfer Protocols (FTP and TFTP)
                     9  File Transfer Protocol (FTP)
                          9  FTP Commands and Replies

Previous Topic/Section
FTP Internal Protocol Commands and Command Groups
Previous Page
Pages in Current Topic/Section
Next Page
FTP User Interface and User Commands
Next Topic/Section

FTP Replies, Reply Code Format and Important Reply Codes
(Page 2 of 5)

Reply Code Structure and Digit Interpretation

To make reply codes even more useful, the codes are not just assigned in a linear or random order, but a special encoding scheme is used. Each code has three digits that each communicate a particular type of information and to categorize replies. A code can be considered to be of the form “xyz”, where “x” is the first digit, “y” the second and “z” the third.

Key Concept: Each command sent by the FTP client results in a reply sent by the FTP server. FTP replies consist of a three-digit numeric reply code, along with a line of descriptive text. The reply code serves to standardize FTP replies, both so they can be interpreted by client software, and so experienced users can see at a glance what the results were of a command. The reply code is structured so that the first two digits indicate the type of reply and to what category it belongs.

First Reply Code Digit (“x”)

The first digit of the reply code indicates the success or failure of the command in general terms, whether a successful command is complete or incomplete, and whether an unsuccessful one should be tried again or not. Table 228 shows the possible values.

Table 228: FTP Reply Code Format: First Digit Interpretation

Reply Code Format




Preliminary Reply

An initial response indicating that the command has been accepted and processing of it is still in progress. The user should expect another reply before a new command may be sent.


Positive Completion Reply

The command has been successfully processed and completed.


Positive Intermediate Reply

The command was accepted, but processing of it has been delayed, pending receipt of additional information. This type of reply is used in the middle of command sequences. For example, it is used as part of the authentication sequence after receiving a USER command but before the matching PASS command is sent.


Transient Negative Completion Reply

The command was not accepted and no action was taken, but the error is temporary and the command may be tried again. This is used for errors that may be a result of temporary glitches or conditions that may change; for example, a file being “busy” due to another resource accessing it at the time a request was made for it.


Permanent Negative Completion Reply

The command was not accepted and no action was taken. Trying the same command again is likely to result in another error. For example, a request for a file that is not found on the server would fall into this category, or sending an invalid command like “BUGU”. J

Second Reply Code Digit (“y”)

The second digit is used to categorize messages into functional groups. These groups are shown in Table 229.

Table 229: FTP Reply Code Format: Second Digit Interpretation

Reply Code Format





Syntax errors or miscellaneous messages.



Replies to requests for information, such as status requests.



Replies related to the control connection or data connection.


Authentication and Accounting

Replies related to login procedures and accounting.



Not defined.


File System

Replies related to the server's file system.

Third Reply Code Digit (“z”)

The last reply code digit indicates a specific type of message within each of the functional groups described by the second digit. The third digit allows each functional group to have 10 different reply codes for each reply type given by the first code digit (preliminary success, transient failure and so on.)

Previous Topic/Section
FTP Internal Protocol Commands and Command Groups
Previous Page
Pages in Current Topic/Section
Next Page
FTP User Interface and User Commands
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.