Perché esiste una modalità ASCII in FTP, che è prevalente nelle attuali implementazioni di software e FTP? Perché non usare sempre solo binario indipendentemente dai dati?
Perché esiste una modalità ASCII in FTP, che è prevalente nelle attuali implementazioni di software e FTP? Perché non usare sempre solo binario indipendentemente dai dati?
Risposte:
In caso di dubbi, leggere la RFC :
La struttura dei file è l'impostazione predefinita da assumere se il comando STRUcture non è stato utilizzato, ma entrambe le strutture dei file e dei record devono essere accettate per i file "di testo" (vale a dire, i file con TYPE ASCII o EBCDIC) da tutte le implementazioni FTP. La struttura di un file influirà sia sulla modalità di trasferimento di un file (vedere la sezione sulle modalità di trasmissione) sia sull'interpretazione e la memorizzazione del file.
La struttura "naturale" di un file dipenderà da quale host memorizza il file. Un file di codice sorgente viene generalmente memorizzato su un mainframe IBM in record a lunghezza fissa ma su un DEC TOPS-20 come flusso di caratteri partizionato in righe, ad esempio da. Se il trasferimento di file tra tali siti diversi deve essere utile, ci deve essere un modo per un sito di riconoscere le ipotesi dell'altro sul file.
ecc. ecc. In breve, è per garantire che le rappresentazioni di testo in una codifica siano state convertite correttamente quando trasferite agli host utilizzando una codifica diversa.
Poiché diversi sistemi operativi (Windows, UNIX, VAX) utilizzano metodi di fine riga diversi per semplici file di testo.
Windows (DOS) utilizza una coppia CR / LF, UNIX ne utilizza solo una. La modalità ASCII converte le coppie CRLF e la modalità BIN no.
Ron
Penso che sia solo perché a volte è conveniente. Ai tempi in cui FTP era il modo in cui ottenevi i file da un sistema all'altro, era un grande risparmio di tempo: non dovevi sapere quale fosse il sistema dall'altra parte per avere un file di testo leggibile.
Ma sì, oggi è solo un fastidio. Solo una macchina corrotta per i non iniziati!
La modalità ASCII ha avuto il suo posto nel giorno in cui la codifica dei caratteri e EOL era un vero problema, ma vorrei vedere i client ftp rimuovere o forse semplicemente nascondere questa opzione oggi. Oggigiorno sono soprattutto le convenzioni EOL che si incasinano tra i sistemi, ma ho trovato che la maggior parte degli editor di testo decenti non mi interessa più. Quindi, al fine di evitare di corrompere i file binari (o anche alcuni basati su testo), ti consiglio di usare la modalità binaria per tutto.
La modalità ASCII viene utilizzata in modo che il software possa cambiare automaticamente i caratteri EOL ai valori corretti per il client / server a seconda se si sta caricando / scaricando. Se stai caricando sullo stesso tipo di sistema che stai usando, non c'è differenza in queste modalità.
Il motivo di questa modalità è perché non tutti i software su tutti i sistemi gestiranno correttamente le EOL che non sono il tipo esatto di EOL (ad esempio, molti software Windows gestiranno correttamente "\ r \ n" e elimineranno qualcosa orribile su "\ n").