Information Center

Overview of FTP and sftp clients

FTP client
sftp client

FTP and sftp are two different types of clients that provide a form of file transfer.

FTP client

FTP (File Transfer Protocol) is the standard protocol for transferring files to and from remote machines running FTP servers. The FTP client allows file and directory upload, file and directory download, and directory navigation of remote and local file systems.

You can use the FTP client in two ways:

When you configure a stand-alone FTP session, an FTP session icon is added to the Z and I Emulator for Web Client window and is started the same way as you start other sessions. When you configure a 3270, 5250, or a VT session to use FTP as the default file transfer type, the FTP session starts in a separate browser window. Once it starts, the FTP session is displayed in the Active Sessions area of the Z and I Emulator for Web Client window indicating current connection status.

The FTP client provides access to internet FTP servers through a firewall. When the FTP client within a firewall detects that the FTP server is outside the firewall, passive mode (PASV) is automatically activated, which allows the FTP client to access the FTP server through the firewall.

The FTP client does not replace the existing Host File Transfer function. See File transfer overview for more information about the differences between FTP File Transfer and Host File Transfer.

Secure File Transfer

The FTP client provides TLS and SSL-based secure file transfer. The FTP client supports explicit (AUTH command) security. To enable secure file transfer, select the TLS or SSL protocol on the FTP Connection properties window. You can configure TLS or SSL support on the TLS/SSL window.

The FTP client uses the EPSV command of RFC 2428, FTP Extensions for IPv6 and NATs, when the Data Connection Mode is Automatic. The EPSV data connection mode provides better support for Network Address Translation (NAT) firewalls. Z and I Emulator for Web secure FTP support is based on the Secure FTP using TLS RFC draft at www.ietf.org.

Socks and HTTP proxy support

The FTP client supports both Socks proxy servers (Version 4 and Version 5) and HTTP proxy servers. FTP clients can use a proxy server to transparently access host systems that are behind a firewall. Proxy server settings can be specified on a session-by-session basis or through the Web browser. The Proxy Server window in FTP session properties allows you to configure proxy server properties for a FTP session.


When using FTP through an HTTP Proxy, be aware that some HTTP proxies now include a configuration parameter called AllowCONNECT. This parameter lists the ports through which the HTTP Proxy allows outgoing connections when an HTTP CONNECT command is received. When you FTP through an HTTP Proxy, the FTP process uses passive mode. In passive mode, after the initial FTP connection, the FTP process receives a port number from the FTP server. The FTP server wants the client to use this port number when establishing a second connection, the data connection, to the FTP server. If this port number is not in the AllowCONNECT port list in the HTTP Proxy configuration, then the proxy does not allow the second connection to be established with the FTP server. Some FTP servers, as part of their configurations, allow the ports returned to the client to be restricted to a certain range. In this case, you must add all the port numbers within the range to the AllowCONNECT HTTP Proxy directive for the FTP session to connect through the HTTP Proxy.

Internationalization of FTP (RFC 2640 support)

The FTP client implements RFC 2640, which addresses the Internationalization (I18n) of the File Transfer Protocol to support multiple character sets and languages. RFC 2640 enhances the capabilities of the File Transfer Protocol by removing the 7-bit restrictions on path names used in client commands and server responses, and defines a new command for language negotiations. The RFC recommends the use of the UTF-8 encoding format. UTF-8 is a UCS (Universal Character Set ISO/IEC 10646 [ISO-10646]) transformation format (UTF). It is a safe file encoding that avoids the use of byte values that have special significance during the parsing of path name character strings.

The RFC also defines a new command, LANG, that negotiates a language for greetings and error messages exchanged between FTP servers and clients. Once the server and the FTP client successfully negotiate a language, the server must return server messages and command response text in the negotiated language and encoded in UTF-8. The LANG command affects only greetings and command response text. Any greetings and command response text before the server and the FTP client negotiate a language appear in the server's default language. If the FTP server does not support the LANG command or the language being negotiated by the FTP client, then the server greetings and responses appear in ASCII US-English. If the FTP server does not support UTF-8 encoded path names, then path names are encoded in 7-bit ASCII.

The UTF-8 encoding format applies only to path names and not to the contents of a file. The encoding scheme of a file depends on the local operating system.


Notes and Limitations:

sftp client

The sftp client uses the SSH (Secure Shell) File Transfer Protocol to provide secure file transfer over a non-secure network (such as a TCP/IP network).

For sftp Z and I Emulator for Web supports only the binary transfer mode. Z and I Emulator for Web does not support the character transfer mode.

You can use the sftp client in two ways:

The sftp client does not replace the existing Host File Transfer function. See File transfer overview for more information about the differences between FTP File Transfer, sftp, and Host File Transfer.

Related topics

  • FTP client session window
  • Proxy server support
  • SSH configuration