Print this page

O que é ftp ?

FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos (também conhecidos como ficheiros), sendo uma das mais usadas na internet.

Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste caso, tradicionalmente aparece em letras minúsculas, por influência do programa de transferência de arquivos do Unix).

A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais).


O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP.

É o padrão da pilha TCP/IP para transferir arquivos, é um protocolo genérico independente de hardware e do sistema operacional e transfere arquivos por livre arbítrio, tendo em conta restrições de acesso e propriedades dos mesmos.

Como ocorre a transferência de arquivos
A transferência de arquivos dá-se entre um computador chamado "cliente" (aquele que solicita a conexão para a transferência de dados) e um servidor (aquele que recebe a solicitação de transferência). O utilizador, através de software específico, pode seleccionar quais arquivos enviar ao servidor. Para existir uma conexão ao servidor, o utilizador informa um nome de utilizador (ou username, em inglês) e uma senha (password), bem como o nome correcto do servidor ou seu endereço IP. Se os dados foram informados correctamente, a conexão pode ser estabelecida, utilizando-se um "canal" de comunicação, chamado de porta (port). Tais portas são “portas” de acesso que, no caso da comunicação FTP, é por defeito a porta número 21.

Modos e interfaces
O protocolo subjacente ao FTPs pode correr nos modos interativo ou "batch". O cliente FTP fornece uma interface interativa, enquanto que o MIME e o HTTP usam-no diretamente. O protocolo permite a gravação e obtenção de arquivos, a listagem do diretório e a alteração do diretório de trabalho.

Os servidores de FTP raramente mudam, mas novos clientes FTP aparecem com bastante regularidade. Estes clientes variam no número de comandos que implementam, a maioria dos clientes FTP comerciais implementam apenas um pequeno subgrupo de comandos FTP. Mesmo que o FTP seja um protocolo orientado a linha de comandos, a nova geração dos clientes FTP esconde esta orientação num ambiente gráfico, muitas vezes, muito desenvolvido.

A interface cliente do FTP do BSD UNIX é um padrão por si mesma, possuindo muitos comandos arcaicos: tenex ou carriage control que hoje não têm uso. Os comandos mais usados são o cd, dir, ls, get e put.

O FTP tem particularidades que são hoje pouco comuns. Depois da ativação do ftp, é estabelecida uma conexão ao host remoto. Esta conexão envolve o uso da conta do usuário no host remoto, sendo que alguns servidores FTP disponibilizam anonymous FTP.

Tradução de nomes de arquivos
A sintaxe dos nomes dos arquivos pode ser incompatível entre diferentes Sistemas Operacionais. O UNIX usa 128 caracteres, maiúsculas e minúsculas, enquanto que o DOS usa 8 + 3 caracteres e apenas maiúsculas. Certos nomes não podem ser usados em alguns sistemas. Devido a isto tudo o BSD ftp define regras para a tradução de nomes.

Modo cliente-servidor do FTP 
O Servidor remoto aceita uma conexão de controle do cliente local. O cliente envia comandos para o servidor e a conexão persiste ao longo de toda a sessão (tratando-se assim de um protocolo que usa o TCP).

O servidor cria uma conexão de dados para a transferência de dados, sendo criada uma conexão para cada arquivo transferido. Estes dados são transferidos do servidor para o cliente e vice e versa.

Os comandos estão separados dos dados e o cliente pode enviar comandos durante a transferência de dados. O encerramento da conexão indica o fim do arquivo.