📄 rfc454.txt
字号:
McKenzie [Page 17]RFC 454 File Transfer Protocol July 1972IV.A FTP Commands FTP commands are ASCII strings terminated by the ASCII character sequence CRLF (Carriage Return followed by Line Feed). The command codes themselves are ASCII alphabetic characters terminated by the ASCII character 'space' (octal code 40). For convenience, the com- mand codes are defined to be four (or less) ASCII alphanumeric char- acters (including both upper and lower case alphabetic characters). The command codes and the semantics of commands are described in this section, but the detailed syntax of commands is specified in Section V.B, the reply sequences are discussed in Section V.C, and scenarios illustrating the use of commands are provided in Section V.D. FTP commands may be partitioned as those specifying access-control identifiers, data transfer parameters, or FTP service requests. Cer- tain commands (such as ABOR, STAT, BYE) may be sent over the TELNET connections while a data transfer is in progress. Some servers may not be able to monitor the TELNET and data connections simultane- ously, in which case these commands should be preceded by a TELNET SYNC to awaken the server. (For other servers this may not be neces- sary and the SYNC will be ignored.)IV.A.1 Access Control Commands The following commands specify access control identifiers (command codes are shown in parentheses). User name (USER) - The argument field is an ASCII string identify- ing the user. The user identification is that which is required by the server for access to its file system. This command will normally be the first command transmitted by the user after the TELNET connections are made (some servers may require this). Additional identification information in the form of a password and/or an account command may also be required by some servers. Servers may allow a new USER command to be entered at any point in order to change the accounting information. All parameters are unchanged and any file transfer in progress is completed under the old account. Password (PASS) - The argument field is an ASCII string identify- ing the user's password. This command must be immediatly preceded by the user name command, and, for some sites, completes the user' s identification for access control. Since password information is quite sensitive, it is desirable in general to "mask" it or suppress type out. It appears that the server has no foolproof way to achieve this. It is therefore the responsibility of the user-FTP process to hide the sensitive password information.McKenzie [Page 18]RFC 454 File Transfer Protocol July 1972 Account (ACCT) - The argument field is an ASCII string identifying the user's account. The command is not necessarily related to the USER command, as some sites may require an account for login and others only for specific access, such as storing files. In the latter case the command may arrive at any time. There are two reply codes to differentiate these cases for the automaton: When account information is required for login and the server receives another command which he buffers, the legal response is reply code 331 when an account is required for a specific transfer requested, the reply code 433 is returned and the request command is flushed. Reinitialize (REIN) - This command terminates a USER, flushing all I/O and account information, except to allow any transfer in pro- gress to be completed. All parameters are reset to the default setting and the TELNET connection is left open. A USER command is expected to follow. Logout (BYE) - This command terminates a USER and if file transfer is not in progress, closes the TELNET connection. If file transfer is in progress, the connection will remain open for result response and will then close. For "hot card-reader" mode the REIN command should be used instead. An unexpected close on the TELNET connection will cause the server to take the effective action of an abort (ABOR) and a logout (BYE).IV.A.2 Transfer Parameter Commands All data transfer parameters have default values, and the commands specifying data transfer parameters are required only if the default parameter values are to be changed. The default value is the last specified value, or if no value has been specified, the standard default value as stated here. This implies that the server must "remember" the applicable default values. The commands may be in any order except that they must precede the FTP service request. The following commands specify data transfer parameters Byte size (BYTE) - The argument is an ASCII-represented decimal integer (1 through 255), specifying the byte size for the data connection. The default byte size is 8 bits. The byte size is always 8 bits in the ASCII and EBCDIC representation types. A server may reject specific byte size/type combinations by sending an error reply code in response to a transfer request command. Data socket (SOCK) - The argument is a HOST-socket specification for the data socket to be used in data connection. There may be two data sockets, one from server to user and the other for userMcKenzie [Page 19]RFC 454 File Transfer Protocol July 1972 to server data transfer. An odd socket number defines a send socket and an even socket number defines a receive socket. The default HOST is the user HOST to which TELNET connections are made. The default data sockets are (U+4) and (U+5) where U is the socket number used in the TELNET ICP and the TELNET connections are on sockets (U+2) and (U+3). Listen (LSTN) - The argument is a single ASCII character code to specify the direction of the socket that the server must allocate for use as a data connection. The server is to "listen" on the allocated socket when an appropriate transfer command is given. The following codes are assigned: S - send R - receive Representation Type (TYPE) - The argument is a single ASCII char- acter code specifying the representation types described in Sec- tion III.B. The following codes are assigned for type: A - ASCII I - Image L - Local Byte E - EBCDIC The default representation type is ASCII. Format (FORM) - The argument is a single ASCII character code specifying the formats described in Section III.B. The following codes are assigned for format: U - Unformatted P - Printfile The default format is Unformatted. File Structure (STRU) - The argument is a single ASCII character code specifying file structure described in Section III.C. The following codes are assigned for structure: F - File (no ecord structure) R - Record structure The default structure is File (ie. no records). Transfer Mode (MODE) - The argument is a single ASCII character code specifying the data transfer modes described in Section III.C. The following codes are assigned for transfer modes:McKenzie [Page 20]RFC 454 File Transfer Protocol July 1972 S - Stream (bytes, close is EOF) B - Block (header with descriptor and count) T - Text (TELNET control code for EOR, EOF) H - Hasp (specially formatted compressed data) The default transfer mode is Stream.IV.A.3 FTP Service Commands The FTP service commands define the file transfer or the file system function requested by the user. The argument of an FTP service com- mand will normally be a pathname. The syntax of pathnames must con- form to server site conventions (with standard defaults applicable), except that ASCII characters must be used (in conformance with the TELNET Protocol). The suggested default handling is to use the last specified device, directory or file name, or the standard default defined for local users. The command may be in any order except that a "rename from" command, must be followed by a "rename to" command, and some servers may require an "allocate" command before a "store" command. The data, when transferred in response to FTP service commands, shall always be sent over the data connection. The follow- ing commands specify FTP service requests: Retrieve (RETR) - This command achieves the transfer of a copy of the file specified in the pathname, from server to user site. The status and contents of the file at the server site shall be unaf- fected. Store (STOR) - This command achieves the transfer of a copy of a file from user to server site. If the file specified in the path- name exists at the server site, then its contents shall be replaced by the contents of the file being transferred. A new file is created at the server site if the file specified in the pathname does not already exist. Append (with create) (APPE) - This command achieves the transfer of data from using to serving site. If the file specified in the pathname exists at the server site, then the data transferred shall be appended to that file, otherwise the file specified in the pathname shall be created at the server site. Allocate (ALLO) - This command may required by some servers to reserve sufficient storage to accommodate the new file to be transferred. The argument field shall be a decimal integer representing the number of bytes (of size specified by the byte size command) of storage to be reserved for the file. ThisMcKenzie [Page 21]RFC 454 File Transfer Protocol July 1972 command shall be followed by a store or append command. The ALLO command should be treated as a NO-OP (no operation) by those servers which do not require that the maximum size of the file be declared beforehand. Restart (REST) - The argument field represents the server marker at which file transfer is to be restarted. This command does not cause file transfer but "spaces" over the file to the specified data checkpoint. This command shall be immediately followed by the appropriate FTP service command which shall cause file transfer to resume. Rename from - (RNFR) - This command specifies the file which is to be renamed. This command must be immediately followed by a "rename to" command specifying the new file pathname. Rename to (RNTO) - This command specifies the new pathname of the file specified in the immediately preceding "rename from" command. Together the two commands cause a file to be renamed. Abort (ABOR) - This command indicates to the server to abort the previous FTP service command and any associated transfer of data. The abort command should be preceded by the TELNET SYNCH condition (indicated by the combination of the DATA MARK and the INS). No action is to be taken if the previous command has been completed (including data transfer). The TELNET connections are not to be closed by the server, but the data connection may be closed. An appropriate reply should be sent by the server. Delete (DELE) - This command causes the file specified in the pathname to be deleted at the server site. If an extra level of protection is desired (such as the query, "Do you really wish to delete?"), it should be provided by the user-FTP process. List (LIST) - This command causes a list to be sent from server to user site. If the pathname specifies a directory, the server should transfer a list of files in the specified directory. If the pathname specifies a file then server should send current information on the file. A null argument implies the user's current working or default directory. The data transfer is over the data connection in type ASCII or type EBCDIC. (It is the user 's responsibility to ensure the correct parameters.)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -