为什么在FTP中存在ASCII模式,这种模式在当今的软件和FTP实现中很普遍?为什么不总是使用二进制而不考虑数据?
为什么在FTP中存在ASCII模式,这种模式在当今的软件和FTP实现中很普遍?为什么不总是使用二进制而不考虑数据?
Answers:
如有疑问,请阅读RFC:
如果未使用STRUcture命令,但所有FTP实现都必须为“文本”文件(即,具有ASCII或EBCDIC类型的文件)接受文件和记录结构,则默认采用文件结构。文件的结构将影响文件的传输模式(请参见“传输模式”部分)以及文件的解释和存储。
文件的“自然”结构将取决于存储文件的主机。通常,源代码文件将以固定长度的记录存储在IBM Mainframe中,而DEC TOPS-20则以字符流的形式存储在DEC TOPS-20中,例如通过。如果在这样的不同站点之间传输文件很有用,则一个站点必须有某种方式可以识别另一个站点对文件的假设。
等等等等。简而言之,这是为了确保当使用另一种编码传输到主机时,一种编码形式的文本表示形式已正确转换。
使用ASCII模式,以便软件可以根据是否上载/下载,将EOL字符自动更改为客户端/服务器的适当值。如果要上载到与您使用的相同类型的系统,则这些模式没有区别。
但是,此模式的原因是因为并非所有系统上的所有软件都可以正确处理不是正确的EOL类型的EOL(例如,许多Windows软件将只能正确处理“ \ r \ n”并且会阻止某些操作) “ \ n”太可怕了)。