应用层的常见的协议
HTTP:超文本传输协议
超文本传输协议(HTTP,HyperText Transfer Protocol) 主要是为 Web 浏览器与 Web 服务器之间的通信而设计的。当我们使用浏览器浏览网页的时候,我们网页就是通过 HTTP 请求进行加载的
SMTP:简单邮件传输(发送)协议
基于 TCP 协议,用来发送电子邮件。
注意接受邮件的协议不是 SMTP 而是 POP3 协议。
电子邮件的发送过程?A qq邮箱 发给B 163邮箱
用户A的邮箱为xxx@qq.cm,通过foxmail客户端写好一封邮件点击发送,即提交到了QQ邮箱服务器,使用的是SMTP协议。
QQ邮箱会对A发送邮件的收件地址进行解析,判断是否为内部邮箱的账号,如果也是qq邮箱,会直接存储到自己的存储空间,如果不是则会发送到指定邮箱服务器,使用的也是SMTP协议。
163服务器收到邮件后会再次判断该邮件是否为自己的邮件,如果是则存到自己的存储空间,等待POP3服务去读取邮件
用户B收到消息后,打开客户端访问163服务器(也可以自己敲命令直接访问),163服务器会去调用POP3服务
Pop3服务接到指令后,读取存储空间中发送给B的未读邮件服务。
将读取到的邮件返回给客户端软件
如何判断邮箱是真正存在的?
- 查找邮箱域名对应的 SMTP 服务器地址
- 尝试与服务器建立连接
- 连接成功后尝试向需要验证的邮箱发送邮件
- 根据返回结果判定邮箱地址的真实性
FTP:文件传输协议
基于 TCP 实现可靠的传输。使用 FTP 传输文件的好处是可以屏蔽操作系统和文件存储方式。
其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接(其它客户服务器应用程序一般只有一条 TCP 连接
- 控制连接:用于传送控制信息(命令和响应)
- 数据连接:用于数据传送;
这种将命令和数据分开传送的思想大大提高了 FTP 的效率
Telnet:远程登陆协议
Telnet 协议 通过一个终端登陆到其他服务器,建立在可靠的传输协议 TCP 之上。Telnet 协议的最大缺点之一是所有数据(包括用户名和密码)均以明文形式发送,这有潜在的安全风险。这就是为什么如今很少使用Telnet并被一种称为SSH的非常安全的协议所取代的主要原因
SSH:安全的网络传输协议
SSH( Secure Shell) 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 建立在可靠的传输协议 TCP 之上。
Telnet 和 SSH 之间的主要区别在于 SSH 协议会对传输的数据进行加密保证数据安全性。