HTTP 代表超文本传输协议,FTP
代表文件传输协议,而 SMTP
代表简单邮件传输协议。这三者都用于通过计算机网络传输信息,并且是当今互联网不可或缺的一部分。
为什么需要三个协议来传输文件?
需要这三种协议,因为它们都有不同的用途。它们是 HTTP
、FTP
和 SMTP
。
- HTTP 是万维网 (WWW) 的支柱。它定义了 Web 浏览器(如 Firefox、Chrome)和 Web 服务器通信的消息格式,同时还定义了 Web 浏览器应如何响应特定的 Web 浏览器请求。
- 顾名思义,FTP 是用于通过通信网络传输文件的底层协议。 它建立两个 TCP 连接:控制连接以验证用户身份,以及数据连接以传输文件。
- SMTP 是全球电子邮件服务器用来相互通信的工具,以便在晚上
11:59
提交的作业在截止日期前到达教授的收件箱。
它们的实现有何不同?
这三个都是应用层协议,使用 TCP 作为底层传输层协议。 但是它们使用它的方式和一般的实现方式是截然不同的。 下表简要区分了它们。
对比项 | HTTP | FTP | SMTP |
---|---|---|---|
端口号 | 80 | 20 和 21 | 25 |
带传输类型 | 带内 | 带外 | 带内 |
状态 | 无状态 | 保持状态 | – |
TCP连接数 | 1 | 2(数据连接和控制连接) | 1 |
TCP 连接的类型 | 可以同时使用持久性和非持久性 | 控制连接的持久性(数据连接的非持久性) | 数据连接持久 |
协议类型 | 协议(主要) | – | 推送协议(主要) |
传输类型 | 在 Web 服务器和 Web 客户端之间传输文件 | 在计算机之间直接传输 | 通过邮件服务器传输邮件 |
- HTTP 是无状态的。 无状态协议意味着 HTTP Web 服务器不维护哪个请求源自哪个用户。 因此,为了向用户提供定制服务,HTTP 使用 Cookie。
- FTP 是 Out-of-band,因为它使用单独的通道来发送数据(Data connection),就像发送控制信息(Control connection)一样。
- 由于 SMTP 比 HTTP 早得多,因此它将所有消息都限制为 7 位 ASCII 格式。 而 HTTP 没有这样的限制。
- HTTP 将每个文件封装在不同的 HTTP 消息中。 而 SMTP 将邮件的所有内容放在一条消息中。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264223.html