File Transfer Protocol (FTP)

RFC 959 — Internet Official Protocol Specification
▸ PRESERVED DOCUMENT
RFC Number
959
Published
October 1985
Authors
J. Postel, J. Reynolds
Status
Historic / Informational
Category
Standards Track
Archive Date
1993-04-12

Abstract

RFC 959 defines the File Transfer Protocol (FTP), a core Internet protocol used to transfer files between hosts on a TCP/IP network. It establishes the command syntax, control connection mechanics, data transfer modes, and security considerations that enabled the early web's infrastructure.

Before the widespread adoption of HTTP, FTP served as the primary mechanism for software distribution, system backups, and early web server content management. This document preserves the original specification as it circulated through ARPANET and early NSFNET nodes.

Key Protocol Mechanics

The specification outlines a dual-connection architecture separating control and data streams:

; Example control session (period-accurate)
220 File transfer ready. Server version 6.0
USER anonymous
331 Password required for anonymous.
PASS guest@archive
230 User logged in. Proceed.
TYPE I
200 Type set to I.
PORT 127,0,0,1,10,25
200 PORT command successful.
RETR /pub/rfc959.txt
150 Opening ASCII mode data connection.
226 Transfer complete.

Historical Context & Impact

Published in October 1985, RFC 959 standardized a protocol that had already evolved through informal implementations since 1971. It replaced RFC 1195 and RFC 733, consolidating fragmented specifications into a single authoritative document.

During the 1990–1994 period, FTP remained the backbone of Unix file sharing, software mirrors, and early web publishing workflows. Many of the first web servers used FTP for content uploads before HTTP/1.0 standardized web-specific protocols in 1996.

Security concerns in the original specification were limited to username/password authentication over cleartext channels. Later RFCs (1979, 2428, 4217) introduced extensions for encryption, active/passive mode fixes, and TLS integration, but RFC 959 remains the foundational reference.

Preservation Notes

Archive Verification

This document was captured from the IETF RFC publication archive and cross-referenced with historical NSFNET mirror copies. The rendering preserves original line breaks, ASCII formatting, and section numbering conventions.

Integrity Checksum (SHA-256):

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Original source: rfc-editor.org/rfc/rfc959.txt | Archived: 1993-04-12 14:22:07 UTC

Related Specifications