FTP再学习 (二)

来源:互联网 发布:行知实验学校 编辑:程序博客网 时间:2024/05/16 01:07
<script type="text/javascript"><!--google_ad_client = "pub-5143338080895292";/* 728x90, created 4/10/08 */google_ad_slot = "8165396160";google_ad_width = 728;google_ad_height = 90;//--></script> <script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

    ii)Binary,也即二进制文件类型。数据以一个连续的比特流的方式传输。就像文件名所示,经常用于传输可执行的二进制文件。这种方式免去了接收方检查每个字节的开销,因此传输效率应该会更高。
     III) EBCDIC文件类型。要求传输两端都是EBCDIC系统。
     iv) 本地文件类型。该方式在具有不同字节大小的主机间传输二进制文件。每一个字节的比特数由发送方规定。对使用8bit字节的系统来说,本地文件以8bit字节传输就等同于二进制文件传输。

2) 格式控制
该选项只对ASCII和EBCDIC文件类型有效。
    i) 非打印(默认选择)文件中不含有垂直格式信息。
    ii) 远程登录格式控制文件含有向打印机解释的远程登录垂直格式控制。
    iii) Fortran 回车控制每行首字符是Fortran格式控制符。

3). 结构
    i) 文件结构(默认选择)文件被认为是一个连续的字节流。不存在内部的文件结构。
    ii) 记录结构该结构只用于文本文件( A S C I I或E B C D I C)。
    iii) 页结构每页都带有页号发送,以便收方能随机地存储各页。该结构由TOPS-20操作系统提供(主机需求R F C不提倡采用该结构)。

4). 传输方式
它规定文件在数据连接中如何传输。
    i) 流方式(默认选择)文件以字节流的形式传输。对于文件结构,发方在文件尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。
    ii) 块方式文件以一系列块来传输,每块前面都带有一个或多个首部字节。
    iii) 压缩方式一个简单的全长编码压缩方法,压缩连续出现的相同字节。在文本文件中常用来压缩空白串,在二进制文件中常用来压缩0字节(这种方式很少使用,也不受支持。现在有一些更好的文件压缩方法来支持F T P)。

如果算一下所有这些选择的排列组合数,那么对传输和存储一个文件来说就有72种不同的方式。幸运的是,其中很多选择不是废弃了,就是不为多数实现环境所支持,所以我们可以忽略掉它们。

通常由Unix实现的FTP 客户和服务器把我们的选择限制如下:
    • 类型:ASCII或binary。
    • 格式控制:只允许非打印。
    • 结构:只允许文件结构。
    • 传输方式:只允许流方式。
这就限制我们只能取一、两种方式: ASCII或图像(binary)。

该实现满足主机需求R F C的最小需求(该R F C也要求能支持记录结构,但只有操作系统支持它才行,而Unix不行)。很多非Unix的实现提供了处理它们自己文件格式的F T P功能。主机需求RFC指出“FTP协议有很多特征,虽然其中一些通常不实现,但对F T P中的每一个特征来说,都存在着至少一种实现”。

待续......
原创粉丝点击