关于FTP文件传输协议说明,带你了解更详情的文件传输协议

Internet和其他网络上的人与设备之间的通信使用协议进行。您可以说协议定义了对话规则:谁必须在何时发送哪些信息?如果数据没有到达接收者,会发生什么?您如何保护转帐免受错误和犯规?每当我们使用Internet时,OSI模型中的这些协议就一直在使用。最著名的是HTTP和HTTPS,通常用于访问网站。另一个重要协议是文件传输协议。那么它是用来干什么的呢?
首先讲一下为什么需要文件传输协议?
文件传输协议(FTP)是最古老的Internet协议之一。自1974年以来,就一直使用用于传输整个文件的技术。1985年,FTP在RFC 959中进行了精确定义。该协议背后的思想是使用命令触发下载和上传。这样,您就可以将文件从自己的设备(PC,智能手机等)传输到服务器,反之亦然。
在此过程中,用户可以使用文件管理系统(从操作系统中了解)。文件可以放在文件夹中,而文件夹又可以放在其他文件夹中,从而形成分层目录结构。
文件传输协议通常用于构建网站。例如,可以使用FTP访问将HTML文件传输到服务器。此外,网站提供商可以使访问者可以使用媒体文件。
其次来说一下,文件传输协议是如何工作?
文件传输协议在TCP / IP Internet协议套件的应用程序层中运行。这会将其与HTTP或POP放在同一层。这些协议的特征在于它们与诸如浏览器和电子邮件客户端之类的程序一起工作,以便为您提供服务。还有用于文件传输协议的特殊FTP软件。
这些程序通常有两个领域。一个区域显示本地目录结构,包括硬盘驱动器上的所有文件。另一个区域显示服务器的内存,包括其中的文件和文件夹。该软件使用户可以在两个区域之间移动文件。如今,浏览器和操作系统的命令行也可以用于FTP。
为了使用文件传输协议服务,您需要具有某些访问信息(用户名和密码)。您通常可以从服务器提供商那里获得。
在FTP连接中,通常会打开两个通道。首先,客户端和服务器使用端口21建立命令通道。客户端使用此通道将命令发送到服务器,作为响应,服务器发送回状态代码。之后,双方可以建立数据通道。这用于传输所选文件。发生这种情况时,协议会注意错误。如果在传输完成之前断开连接,则可以在重新建立连接后恢复该过程。
客户端和服务器之间通过文件传输协议进行交换
我们可以区分主动和被动 FTP。在活动版本中,客户端如上所述使用端口21建立连接,并告诉服务器可以使用哪个端口来传递其答案。但是,如果客户端受防火墙保护,则服务器将无法发送任何答案,因为所有外部连接均被阻止。这就是为什么开发被动模式的原因。这样,服务器可以向客户端发送端口号,然后客户端可以使用该端口号来建立数据通道。由于客户端自行启动连接,因此其防火墙无法阻止传输。
文件传输协议知道各种命令和状态码。利用32条命令(并非所有命令都始终在服务器上实现),客户端指示服务器上载或下载文件,组织目录或删除文件。服务器用状态码回答,该状态码提供有关命令是否已成功实现的信息。
与往常一样,您需要访问信息才能在服务器上使用FTP。但是某些服务器还提供匿名FTP,任何用户都可以使用该FTP将文件传输到该服务器,或者使用FTP从该服务器下载而无需输入密码。由于这些开放的FTP服务器容易受到安全风险的影响,因此用户的可能性通常非常有限。
最后来说一下安全性和文件传输协议
原始的文件传输协议没有任何安全功能。在其发展之时,互联网仍然很小,网络犯罪不存在。从那时起,由于传输是完全未加密的,因此使用FTP已涉及许多安全风险。这就是为什么开发了另外两个安全版本的原因,这些版本目前正在相互竞争:FTPS和SFTP。第一个版本是使用SSL的FTP。该连接是与安全套接字层(SSL)或传输层安全性(TLS)结合使用的,其中对数据交换进行了加密。
SSH文件传输协议(SFTP)使用安全外壳(SSH)来安全地传输文件。与FTPS一样,连接也是加密的。但是,FTPS需要两个连接,而SFTP只需要一个。但是SFTP确实需要使用其他程序。
镭速文件传输协议特点:
镭速传输协议主要技术原理
镭速传输协议主要通过如下两方面来改善传输效率:更有效的拥塞判断及处理; 更准确及时地进行丢包判断恢复制机制;
更有效的拥塞判断及处理
目前主流的拥塞判断是基于二十几年前的网络情况设计的,其基本假设是任何丢包都反映了网络拥塞。这一假设与现代网络情况已完全脱节。现代网络丢包常常并不是由拥塞因素引起的。这一脱节导致传输协议常常进入过于保守的传输状态。
镭速传输协议拥塞检测算法会自动收集路径上已有的背景传输信息(丢包、时延以及抖动),根据传输速度准确判断出实际的拥塞情况,既不过于保守也不过于激进,可以有效充分利用路径带宽。
镭速传输提供一站式文件传输加速解决方案,旨在为IT、影视、生物基因、制造业等众多行业客户实现高性能、安全、稳定的数据传输加速服务。传统文件传输方式(如FTP/HTTP/CIFS)在传输速度、传输安全、系统管控等多个方面存在问题,而镭速文件传输解决方案通过自主研发、技术创新,可满足客户在文件传输加速、传输安全、可管可控等全方位的需求。
关于FTP文件传输协议说明,带你了解更详情的文件传输协议的更多相关文章
- 我们检测到您的浏览器不兼容传输层安全协议 (TLS) 1.1 或更高版本,此协议在 Internet 上用于确保您通信的安全性。
早上使用.Net WebClient类采集亚马逊数据,返回http 400 Bad Request错误,内容里面有“我们检测到您的浏览器不兼容传输层安全协议 (TLS) 1.1 或更高版本,此协议在 ...
- FTP传大文件又慢又麻烦,有没有更好的替代传输方案?
FTP作为常见的文件传输协议已经具有很长的历史,最早可以追溯到上世纪70年代.至今FTP仍然较为活跃,然而许多企业已经开始不满足于FTP的功能局限性,开始另外寻找合适的文件传输产品. 目前数据正在爆炸 ...
- 好程序员带你了解一下HTTPS和SSL/TLS协议的背景与基础
>> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 TCP 的关系(尤其 ...
- servlet多文件上传(带进度条)
需要commons-fileupload-1.3.jar和commons-io-2.4.jar的支持 页面效果:(图片文件都可以) (1)进度标识类 public class UploadStatus ...
- PSR-1之PHP代码文件必须以不带BOM的UTF-8编码
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE“的字符,它的编码是FEFF.而FFFE在UCS中是不存在的字符 ...
- java进行文件上传,带进度条
网上看到别人发过的一个java上传的代码,自己写了个完整的,附带源码 项目环境:jkd7.tomcat7. jar包:commons-fileupload-1.2.1.jar.commons-io-1 ...
- 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...
- PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
/** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) * 时间:2006/5/9 * 作者:欣然随风 * QQ:276624915 */ class class_ftp { publi ...
- C#读取带命名空间的xml,xaml文件的解决方案
使用C#读取xml文件有三种常用的方式: 1.xmlDocument 2.XmlTextReader 3.Linq To Xml 但是这些方式在读写有些带命名空间的xml时就不知道怎么办了(例如把xa ...
- Unix文件 I/O(不带缓冲区的)上
简介 Unix系统大多数文件i/o只需要:open.read.write.lseek.close这几个函数.但是某些时候我们也需要fcntl.ioctl.sync等函数配合使用.这些函数都是不带缓冲区 ...
随机推荐
- Linux中echo的作用
Linux echo命令 echo命令是一个内置在Bash中的shell,通常用于shell脚本中以显示消息或输出其他命令的结果. echo命令的语法如下: 1 echo [-neE] [ARGUME ...
- 【OpenGL ES】渲染管线
1 前言 渲染管线是指图形渲染流程,涉及到的概念非常多,主要包含图元.片段.光栅化.空间.变换.裁剪.着色器.片段测试.混合等.渲染管线主体流程如下: 为方便读者理解渲染管线,本文将先介绍顶点 ...
- CSS隐藏元素的方法
CSS隐藏元素的方法 使用CSS隐藏元素的主要方式有diaplay: none;.opacity: 0;.visibility: hidden;.position: absolute; overflo ...
- Laravel入坑指南(8)——控制台程序
我们知道,php代码不仅可以用web的形式对外提供服务,同时也可以在命令行下执行. 对于原生的php来说,假设我们有一个php文件,名为Command.php,如果想要在控制台下执行这个文件,那么我们 ...
- wordpress设置固定链接404及伪静态配置
说明 最近在将wordpress设置中文章url修改为月份和名称型 之后访问文章出现404.原因是配有配置好apache的伪静态. 配置步骤 1.修改httpd.conf 我这里是centos7,默认 ...
- Encrypt or Decrypt sensitive data using PLSQL - DBMS_CRYPTO
Oracle 10g introduced Transparent Data Encryption, which is about storing data physically as encrypt ...
- vim创建sh文件自动生成头信息
>>> vim /etc/vimrc 或 vim ~/.vimrc " 这几个加不加都行 set tabstop=4 set softtabstop=4 set shift ...
- 谈一谈如何使用etcd中的事务
本文内容来源于自己学习时所做的记录,主要来源于文章最后的参考链接,如有侵权,请联系删除,谢谢! etcd 是一个 key/value 类型的数据库.既然我们需要存储数据,必然会面临这样一个需求,即希望 ...
- mongo重启、远程连接
1.查看当前mongo启动进程 ps -ef | grep mongo 2.修改mongo启动远程连接配制文件 vi /etc/mongod.conf 将 bind_ip=127.0.0.1 这一行注 ...
- 【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】
记录使用以下的代码获取Azure VM中的IP地址 """Create and manage virtual machines. This script expects ...