Qual o sentido do modo ASCII no FTP?

17

Por que existe um modo ASCII no FTP, que prevalece nas implementações atuais de software e FTP? Por que não usar sempre sempre o binário, independentemente dos dados?

zildjohn01
fonte

Respostas:

24

Em caso de dúvida, leia o RFC :

Estrutura de arquivo é o padrão a ser assumido se o comando STRUcture não tiver sido usado, mas as estruturas de arquivo e registro devem ser aceitas para arquivos de "texto" (ou seja, arquivos com TYPE ASCII ou EBCDIC) em todas as implementações de FTP. A estrutura de um arquivo afetará o modo de transferência de um arquivo (consulte a Seção sobre modos de transmissão) e a interpretação e armazenamento do arquivo.

A estrutura "natural" de um arquivo dependerá de qual host armazena o arquivo. Um arquivo de código-fonte geralmente será armazenado em um mainframe IBM em registros de comprimento fixo, mas em um DEC TOPS-20 como um fluxo de caracteres particionados em linhas, por exemplo, por. Se a transferência de arquivos entre sites díspares for útil, deve haver uma maneira de um site reconhecer as suposições do outro sobre o arquivo.

etc etc ... Em resumo, é para garantir que as representações de texto em uma codificação sejam convertidas corretamente quando transferidas para hosts usando uma codificação diferente.

Sinan Ünür
fonte
Em caso de dúvida: pesquise no Google e encontre a resposta no StackExchange.
#
4

Como sistemas operacionais diferentes (Windows, UNIX, VAX) usam métodos diferentes de final de linha para arquivos de texto simples.

O Windows (DOS) usa um par CR / LF, o UNIX usa apenas um deles. O modo ASCII converte pares CRLF e o modo BIN não.

Ron

user14456
fonte
4
É mais do que apenas as diferenças de codificação de final de linha mencionadas, mas também as codificações de diferenças dos próprios caracteres, como a diferença entre ASCII e EBCDIC. A resposta por sites @Sinan as especificidades documentado na RFC-959
Alto Jeff
1

Eu acho que é só porque às vezes é conveniente. Na época em que o FTP era o modo como você obtinha arquivos de um sistema para o outro, era uma grande economia de tempo - você não precisava saber o que o sistema estava do outro lado para ter um arquivo de texto legível.

Mas sim, principalmente hoje é apenas um incômodo. Apenas uma máquina corrupta para os não iniciados!

David Markle
fonte
1

O modo ASCII teve seu lugar no tempo em que a codificação de caracteres e EOL era um problema real, mas eu gostaria de ver os clientes ftp remover ou talvez apenas ocultar essa opção hoje. Atualmente, na maioria das vezes, são apenas convenções de EOL que são confusas entre os sistemas, mas descobri que a maioria dos editores de texto decentes não se importa mais. Portanto, para evitar a corrupção de arquivos binários (ou mesmo alguns baseados em texto), recomendo usar o modo binário para tudo.

boomhauer
fonte
-1

O modo ASCII é usado para que o software possa alterar automaticamente os caracteres EOL para os valores apropriados para o cliente / servidor, dependendo se você estiver fazendo upload / download. Se você estiver carregando no mesmo tipo de sistema que está usando, não há diferença nesses modos.

A razão para esse modo é que nem todos os softwares em todos os sistemas manipularão corretamente as EOLs que não são exatamente o tipo adequado de EOL (por exemplo, muitos softwares do Windows lidam apenas com "\ r \ n" corretamente e impedem algo horrível em "\ n").

Matthew Scharley
fonte
"não há diferença nesses modos." - Isso não é verdade. O envio de um arquivo binário no modo ascii provavelmente o corromperá. Seriamente.
Beefster