FTP 150 File Status OK vs 200 Command OK
FTP 150 (File Status OK) is a 1xx Positive Preliminary response, while 200 (Command OK) is a 2xx Positive Completion response. 150 indicates that the file status is okay and the server is about to open the data connection for the transfer. This is the normal precursor to a file transfer. In contrast, 200 means that the command has been successfully executed. This is a general acknowledgment that the command was understood and carried out.
Description
The file status is okay and the server is about to open the data connection for the transfer. This is the normal precursor to a file transfer.
When You See It
Right before a file download or upload begins, confirming the file is accessible and the data channel is being opened.
How to Fix
No fix needed — this means the transfer is about to start. If the transfer stalls after this reply, check firewall rules blocking the data connection.
Description
The command has been successfully executed. This is a general acknowledgment that the command was understood and carried out.
When You See It
After issuing any command that completes successfully, such as TYPE, MODE, or NOOP.
How to Fix
No fix needed — the command succeeded. This is the standard positive response for commands that don't return data.
Key Differences
150 is a 1xx Positive Preliminary response, while 200 is a 2xx Positive Completion response.
FTP 150: The file status is okay and the server is about to open the data connection for the transfer. This is the normal precursor to a file transfer.
FTP 200: The command has been successfully executed. This is a general acknowledgment that the command was understood and carried out.
You encounter 150 when right before a file download or upload begins, confirming the file is accessible and the data channel is being opened.
You encounter 200 when after issuing any command that completes successfully, such as TYPE, MODE, or NOOP.
When to Use Which
For 150 (File Status OK): No fix needed — this means the transfer is about to start. If the transfer stalls after this reply, check firewall rules blocking the data connection. For 200 (Command OK): No fix needed — the command succeeded. This is the standard positive response for commands that don't return data.