zoukankan      html  css  js  c++  java
  • 应用层之FTP

      1.FTP是什么

      ftp是一个应用层的文件传输协议。在一个典型的ftp会话中,用户可以一台主机箱另一台主机传输(或接受来自远程主机)的文件。

      2.建立一个典型的ftp会话需要什么

      用户通过一个ftp用户代理与ftp交互

      1.该用户首先要提供远程主机的主机名,使本地主机的ftp客户端进程建立一个到远程主机ftp服务器进程的tcp连接

      2.接着用户需要提供用户名和密码作为ftp命令的一部分在该tcp连接上传送

      若用户名和密码是正确的,则用户就可以将存放在本地文件系统中的一个或多个文件复制到远程文件系统中(反之亦然)。

      3.ftp与http的异同

        相同点:

      1.两者都是应用层上的文件传输协议

      2.两者都是运行在tcp上的

      区别:

      1.ftp使用了两个并行的tcp连接,http只有一个tcp连接。

       ftp是用的两个tcp连接,一个是控制连接,一个是数据连接

        控制连接用于在两主机之间传送控制信息。如用户名标识、口令、“存放(put)”和“获取(get)”文件的命令等。

        数据连接用于实际传输一个文件。

       http协议是在传输文件的同一个tcp连接中发送请求和响应首部行的。

      4.ftp传输文件

        用户主机与远程主机开始一个ftp会话时,ftp的客户端首先在服务器21号端口与服务器端发起一个用于控制的tcp连接。客户端可以通过该控制连接发送控制命令

        当服务器端从控制连接收到一个文件传输的命令后,就发起一个到客户端的数据连接用于传输文件,文件传输完毕后该数据连接就关闭了,但是控制连接不关闭。

        当有一个新的文件传输命令后,就又建立一个新的数据连接。

      5.常见ftp命令

        USER username  :向服务器发送用户标识

        PASS password:用于向服务器发送用户口令

        LIST: 向服务器请求当前远程目录中的所有文件列表,该文件列表是经过一个新的数据连接返回给客户端的

        RETR filename : 获取文件

        STOR filename: 向服务器端上传文件

      

  • 相关阅读:
    理解SetCapture、ReleaseCapture、GetCapture(控制了消息发往哪个窗口,是理解消息的关键)
    Javascript 的addEventListener()及attachEvent()区别分析
    鼠标拖拽
    鼠标右键菜单
    keydown
    一串跟随鼠标的DIV
    event对象和事件冒泡
    发表说说
    文档流
    CSS3 @keyframes 规则
  • 原文地址:https://www.cnblogs.com/chen-jack/p/10225515.html
Copyright © 2011-2022 走看看