zoukankan      html  css  js  c++  java
  • FTP概述

    FTP是什么?

    早期三大网络应用之一:ftp(40年)、http、mail

    ftp file transfer protocol

    文件传输协议

    FTP服务概述

    C/S模型

    客户端-服务器

    FTP采用双TCP连接方式

    控制连接-使用TCP端口号21

      用于在FTP客户端和FTP服务器之间传输FTP控制命令及命令执行信息。控制连接在整个FTP会话期间一直保持打开。

    数据连接-使用TCP端口号20

      用于传输数据,包括数据上传、下载、文件列表发送等。数据传输结束后数据连接将终止。

    主动方式建立连接过程

    FTP主动数据传输方式

    主动方式也称为PORT方式,是FTP协议最初定义的数据传输连接方式,主要特点是:

      FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号

      当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输

    在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式。

    被动方式建立连接过程

    FTP被动数据传输方式

    被动方式也称为PASV方式,被动方式的主要特点是:

      FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端

      当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输。

    在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式。

    文本模式和二进制模式

    文件传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传输字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。

    二进制模式用来传送可执行文件,压缩文件,和图片文件。如果你用ASCII模式传,会显示一堆乱码,你必须重新使用BINARY模式传。用HTML和文本编写的文件必须用ASCII模式上传,用BINARY模式上传会破坏文件,导致文件执行出错。

    FTP用户的类型

    匿名用户:anonymous或ftp

    本地用户:

      帐号名称、密码等信息保存在passwd、shadow文件中

    虚拟用户:

      使用独立的帐号/密码数据文件

      user_list zhangsan 123456 /var/pub

  • 相关阅读:
    写在博客前面
    JavaAPI学习(一):API && String类 && Stringbuffer && StringBuilder
    Java面向对象(七):Object类 & 内部类 & 单例模式
    Java面向对象(六):抽象方法 & 接口 & 递归
    Java面向对象(五):OOP三大特性之多态 — final 关键字
    Java面向对象(四):OOP三大特性之封装与继承
    Java面向对象(三):Java权限修饰符—static关键字
    Java面向对象(二):成员变量—OOP中的内存管理—构造函数
    Java面向对象(一):方法—初识面向对象
    JavaSE学习(六):随机数—简单的排序算法
  • 原文地址:https://www.cnblogs.com/chengtai/p/5965548.html
Copyright © 2011-2022 走看看