FTP is the abreviation for File Transfer Protocol, a network protocol which can be used to transfer files from one computer to another over a TCP enabled network.

      HTTP Home    HTTP Links    More on HTTP    What about HTML    Web Related   FTP Description  
About FTP
FTP is the abreviation for File Transfer Protocol. It is a network protocol which is a standard. FTP can be used to transfer files from one computer to another over a TCP enabled network. The FTP protocol is often used to upload web pages to a hosting server. It can be used to access online software files or to transfer files between an account and a desktop computer. Many sites are heavily used and theis means that they require some initial attempts before establishing a successfull connection.
Authentication and Security
As an FTP user you can authenticate using a clear text sign-in protocol, which is usually in the form of a username/password pair. Some FPT servers accept anonymous connection if the server is configured to allow it. FTP is not able to encrypt its traffic since all its transmissions are in clear text: the usernames, passwords, commands and data can be easily read by someone able to perform packet capture - also know as sniffing - on the network. For secure transmission that hides (or encrypts) the username/password pair and encrypts the content, the SSH File Transfer Protocol should be used.
Comparing FTP to HTTP
FTP uses the TCIP/IP protocol to transfer files. It works on the application layer of the OSI model. To accomplish this the (FTP) server runs and waits for incoming connection requests. Clients can communicate with the FTP server on port 21 (twenty one). This connection (from the client to the server), called the control connection, stays open along the duration of the communication session. A second connection, which is called the data connection, can be opened by the FTP server from its port 20 (twenty one) to a negotiated client port (this represents the active mode), or can be initiated by the client machine from an random port to a negotiated FTP server port (this represents the passive mode) as required to transfer file data. The control connection is used for session administration, for example commands, identification and passwords exchanged between the client and the server using a telnet-like protocol. For example "RETR filename" would transfer the specified file from the server to the client. Due to this two-port structure, FTP is considered an out-of-band protocol, as opposed to an in-band protocol such as HTTP.
Explicit FTPS is an extension for FTP which permits clients to specify that the session of FTP they initiate should be encrypted. The server has the option of denying or allowing connections that do not request TLS. Implicit FTPS is a deprecated standard for FTP that required the use of a SSL or TLS connection. It was specified to use different ports than plain FTP.
SFTP (the "SSH File Transfer Protocol") is not related to FTP except in the sense that it allows transfers of files and has a similar command set. SFTP (known as secure FTP) is a standard that uses Secure Shell (SSH) to transfer files. Unlike the standard FTP, it encrypts both commands and data thus preventing passwords and other information from being transmitted unsecurely over the network. It is similar to FTP from the functionality point of view, but because it uses a different protocol, standard FTP clients cannot be used to talk to an SFTP enabled server, nor can one connect to an FTP server with a client that supports only SFTP.
FTP Clients
There are clients for FTP which make it very simple for users to transfer files: all they need to do is to drag and drop the files between windows (after being authenticated). In order to connect to an FTP server, the FTP client needs the name of the FTP host, for example ftp.mysite.com and then the username and password. If the user logs into an anonymous FTP server, there are no credentials required. A popular free FTP client solution is FileZilla.
Web Browser
Many web browsers are able to get the files hosted on FTP servers even though they may not support other protocol extensions such as FTPS. A web browser allows the user to connect to FTP addresses in the same way as he would connect to HTTP addresses. When an FTP address instead of an HTTPaddress is entered in the address field, the contents on the FTP server are shown in a similar maner to the one used to show Web content. The web browser takes care (behind the scenes) of the details of connecting to an FTP site and transferring files. Even so, web browsers are usually slower and not so reliable and have fewer FTP features than dedicated FTP clients.
Connecting to FTP
To connect to a FTP Server you need to type the following in the address bar:

or at the comment line prompt, please enter
ftp ftp.mysite.com
FTP Commands
Here is the list of FTP commands which FTP servers understand. Please notice that many command-line FTP clients have their own set of commands.
Command     RFC Description
ABOR   Abort an active file transfer
ADAT RFC 2228 Authentication/Security Data
ACCT   Account information
APPE   Append.
ALLO   Allocate sufficient disk space to receive a file
AUTH RFC 2228 Authentication/Security Mechanism
CCC RFC 2228 Clear Command Channel
CONF RFC 2228 Confidentiality Protection Command
CDUP   Change to Parent Directory
CWD RFC 697 Change working directory
DELE   Delete file.
ENC RFC 2228 Privacy Protected Channel
EPSV RFC 2428 Enter extended passive mode
EPRT RFC 2428 Specifies an extended address and port to which the server should connect
FEAT RFC 2389 Get the feature list implemented by the server
HELP   Help
LANG RFC 2640 Language Negotiation
LIST   Returns information of a file or directory if specified, else information of the current working directory is returned
LPSV RFC 1639 Enter long passive mode
LPRT RFC 1639 Specifies a long address and port to which the server should connect
MDTM RFC 3659 Return the last-modified time of a specified file
MIC RFC 2228 Integrity Protected Command
MKD   Make directory
MLST RFC 3659 Provides data about exactly the object named on its command line, and no others
MLSD RFC 3659 Lists the contents of a directory if a directory is named
MODE   Sets the transfer mode (Stream, Block, or Compressed)
NLST   Returns a list of file names in a specified directory
NOOP   No operation (dummy packet; used mostly on keepalives)
OPTS RFC 2389 Select options for a feature
PASS   Authentication password
PASV   Enter passive mode
PBSZ RFC 2228 Protection Buffer Size
PROT RFC 2228 Data Channel Protection Level
PORT   Specifies an address and port to which the server should connect
PWD   Print working directory. Returns the current directory of the host
QUIT   Disconnect
REIN   Re initializes the connection
REST RFC 3659 Restart transfer from the specified point
RETR   Transfer a copy of the file
RMD   Remove a directory
RNTO   Rename to
RNFR   Rename from.
SITE   Sends site specific commands to remote server
SIZE RFC 3659 Return the size of a file
SMNT   Mount file structure
STOR   Accept the data and to store the data as a file at the server site
STAT   Returns the current status
STOU   Store file uniquely
SYST   Return system type
STRU   Set file transfer structure
TYPE   Sets the transfer mode (ASCII/Binary)
USER   Authentication username
XCUP RFC 775 Change to the parent of the current working directory
XMKD RFC 775 Make a directory
XPWD RFC 775 Print the current working directory
XRMD RFC 775 Remove the directory
XSEN RFC 737 Send to terminal
XSEM RFC 737 Send, mail if cannot

Copyright ( ) WhatIsHTTP 2007 - 2012. All rights reserved.    Terms of use   Disclaimer   Privacy Policy