Email-FTP-RTSP协议实践研究---FTP篇

了解FTP协议和HTTP1.1协议(“图解HTTP”第3章3.5节),理解FTP、HTTP协议支持常用下载工具高速的多线程文件分块下载、 断点续传的背后原理。实践:在Ubuntu系统上安装一个Ftpd服务(搭建FTP服务)。用telnet 手工方式 登录ftp服务,上传一个图片文件或压缩包文件;然后,再手工用分片下载的方式,将此文件分片下载到本地(多个小文件),再将这几个小文件合并为1个大文件(无须编程,用copy命令即可实现),看是否与原文件一样大小,是否能正常打开。

一、介绍

HTTP是Hyper Text Transfer Protocol,超文本传输协议;面向网页的。

FTP是File Transfer Protocol,文件传输协议;面向文件的。(soap的默认端口号8880,ftp的代理服务器的默认端口号是21)

FTP也是基于C/S模式而设计的。在进行FTP操作的时候,即需要客户应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户应用程序,在远程服务器中执行FTP服务器应用程序,这样,就可以通过FTP客户应用程序和FTP进行连接。连接成功后,可以进行各种操作。在FTP中,客户机只提出请求各接收服务,服务器只接收请求和执行服务。
在利用FTP进行文件传输之前,用户必须先连入INTERNET网中,在用户自己的计算机上启动FTP用户应用程序,并且利用FTP应用程序和远程服务器建立连接,激活远程服务器上的FTP服务器程序。准备就绪后,用户首先向FTP服务器提出文件传输申请,FTP服务器找到用户所申请的文件后,利用TCP/IP将文件的副本传送到用户的计算机上,用户的FTP程序再将接收到的文件写入自己的硬盘。文件传输完后,用户计算机与服务器计算机的连接自动断开。
与其他的C/S模式不同的是,FTP协议的客户机与服务器之间需要建立双重连接:一个是控制连接,另一个是数据连接。这样,在建立连接时就需要占用两个通信信道。
HTTP超文本传输协议,HTTP是用来在WWW上交换文件(文本,图形,声音,动画等)的规则集。相对于TCP/IP协议族(它是网上交换信息的基础),HTTP是应用协议。
ftp的协议和http协议的主要区别在于ftp是需要用户名和密码才能访问(匿名登陆除外),这样做的目的在于有的文件只供特殊人访问,而http协议是任何人都可以访问的。ftp在浏览器的地址栏中的格式是:

ftp://用户名:密码@网站地址/文件目录/

如果直接输入ftp.网站地址 则会弹出一个登陆界面,需要输入用户名和密码,这种方式通常称为webftp,从字面上理解很容易明白,看起来是浏览器访问,实际上打开的是以文件夹的形式的存放目录。

命令说明
ls显示服务器上的目录
get从服务器下载指定文件到客户端
put从客户端传送指定文件到服务器
open连接ftp服务器
quit断开连接并退出ftp服务器
cd directory改变服务器的当前目录为directory
lcd directory改变本地的当前目录为directory
bye退出ftp命令状态
ascii设置文件传输方式为ASCII模式
binary设置文件传输方式为二进制模式
执行本地主机命令
cd切换远端ftp服务器上的目录
cdup上一层目录
close在不结束ftp进程的情况下,关闭与ftp服务器的连接
delete删除远端ftp服务器上的文件
get下载
hash显示#表示下载进度
mdelete删除文件,模糊匹配
mget下载文件,模糊匹配
mput上传文件,模糊匹配
mkdir在远端ftp服务器上,建立文件夹
newer下载时,检测是不是新文件
prompt关闭交互模式
put上传
pwd显示当前目录

在这里插入图片描述

二、搭建FTP服务器

  1. 安装vsftpd
sudo apt-get install vsftpd
  1. 安装后打开ftp配置文件
nano/vim/gedit   /etc/vsftpd.conf

在这里插入图片描述

内容说明
local_root=/home/virftp/testuser1定义虚拟用户的家目录
anonymous_enable=NO不允许匿名用户登陆,如果允许则用YES
write_enable=YES写权限,允许
local_umask=022设定umask,用来控制用户创建文件和目录的默认权限
anon_upload_enable=NO不允许匿名用户上传
anon_mkdir_write_enable=NO不允许匿名用户创建目录和写权限
idle_session_timeout=600空闲时限600秒,超时自动断开
data_connection_timeout=120数据连接(请求)时限120秒,超时会自动断开
max_clients=10客户端的最大连接数
  1. 完成配置后重启ftp服务
sudo service vsftpd restart

三、上传图片

  1. 首先在查看ubuntu的ip
    在这里插入图片描述
  2. 在windows上打开cmd命令行输入ftp,如下图进行完成登录
    在这里插入图片描述
  3. 登录成功后在命令行输入上传命令put
    (本地文件) D:\HP\qint\wan.jpg 意思为:本地上传文件的路径,回车确认
    (远程文件) ./qint/wan1.jpg 意思为:上传到ftp服务器的目录路径,回车确认
    上传成功后可以通过目录查看
    注意:上传的原文件要写到文件后缀,不然上传不上去,也就是必须确认文件格式
    在这里插入图片描述

四、下载文件

  1. 使用get命令下载

在这里插入图片描述

  1. 再手工用分片下载的方式,将此文件分片下载到本地(多个小文件),再将这几个小文件合并为1个大文件(无须编程,用copy命令即可实现),看是否与原文件一样大小,是否能正常打开。
  2. 将图片分片
split -l 1000 wan1.jpg//不加参数,默认也是1000行

split [OPTION] [INPUT [PREFIX]]

选项如下:
-a : 指定后缀长度
-b : 每个文件多少字节
-d : 使用数字后缀而不是字母
-l : 指定每个文件的行数
在这里插入图片描述
这张图片被分割为4部分

  1. 通过get将其分别下载即可

在这里插入图片描述
5. 通过copy完成几个文件的合成
cmd cd到文件目录

copy /b xaa+xab+xac+xad wanwan.jpg

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件大小相同,可正常打开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值