HTTP/HTTPS
HTTP:HyperText Transfer Protocol(超文本传输协议)
HTTPS:Hypertext Transfer Protocol Secure(超文本传输安全协议)。
广泛用于浏览器与服务器之间的通信。
特性 | HTTP | HTTPS |
---|---|---|
定义 | 明文传输协议,数据以纯文本形式在网络中传输 | 加密传输协议,通过 SSL/TLS 加密保护数据的安全性 |
端口 | 默认使用 80 端口 | 默认使用 443 端口 |
安全性 | 不安全,容易被窃听、篡改或伪造 | 安全,防止窃听、篡改和中间人攻击 |
FTP/SFTP
FTP:File Transfer Protocol(文件传输协议)。
SFTP:SSH File Transfer Protocol(基于 SSH 的文件传输协议)。
用于文件传输的协议
阶段 | FTP | SFTP |
---|---|---|
连接建立 | 使用两个独立的连接(一个用于发送命令和接收响应,一个用于传输文件数据) | 使用单一加密通道,基于 SSH 协议建立连接 |
数据传输 | 数据以明文形式传输,容易被窃听 | 数据经过加密后传输,确保机密性和完整性 |
身份验证 | 用户名和密码以明文形式传输,容易被截获 | 使用SSH,所以支持多种安全的身份验证方式(如密码、公钥) |
Git 协议
Git Protocol。专为 Git 设计的自定义协议,轻量高效。不提供加密功能,通信内容以明文形式传输。主要用于只读访问,适合公开资源的克隆。
优点:
性能优越,传输效率高。
配置简单,无需额外的服务端配置。
缺点:
缺乏安全性,不适合传输敏感数据。
只支持只读操作,无法推送更改。
SMTP/IMAP/POP3
SMTP | IMAP | POP3 | |
---|---|---|---|
全称 | Simple Mail Transfer Protocol(简单邮件传输协议) | Internet Message Access Protocol(互联网消息访问协议) | Post Office Protocol version 3(邮局协议第 3 版) |
用途 | 用于发送电子邮件 | 用于接收电子邮件 | 用于接收电子邮件 |
用途 | 邮件服务器之间的通信,将邮件从发件人的邮件服务器传输到收件人的邮件服务器 | 支持多设备同步的邮件接收。允许用户在服务器上管理邮件(如移动、标记、检索) | 适合单设备邮件下载。通常下载邮件并从服务器删除。 |
优点 | 广泛支持,兼容性好 | 提供更好的用户体验(支持同步) | |
缺点 | SMTP 缺乏内置加密(通常结合 TLS 使用) | POP3 不支持多设备同步 |
WebSocket
全称: WebSocket Protocol。
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,允许客户端和服务器之间进行实时、双向的数据交换。与传统的 HTTP 协议相比,WebSocket 提供了更高效、更低延迟的通信方式。
WebSocket 的工作原理
(1) 握手阶段
客户端通过 HTTP 协议发起 WebSocket 请求。
服务器验证请求并返回升级响应,将连接从 HTTP 升级为 WebSocket。
(2) 数据传输阶段
握手成功后,客户端和服务器可以通过单一的 TCP 连接进行双向通信。
数据帧格式包括头部和负载部分,支持分片传输。
特点:
提供全双工通信通道,允许客户端和服务器实时双向通信。
基于 TCP 协议,初始连接通过 HTTP 升级完成。
用途:
实时应用(如聊天、在线游戏、股票行情)。
优点:
实时性强。
减少了 HTTP 请求的开销。
缺点:
对服务器资源消耗较大。
需要额外的协议支持。
Telnet
允许用户通过网络登录到远程主机上,并像直接操作该主机一样工作。已多被SSH替代。
在没有安全保障的情况下,传统的命令行访问协议(如 Telnet)会以明文形式传输数据,包括用户名和密码。
DNS
DNS (Domain Name System)・域名系统 :将域名转换为IP地址。什么是DNS
?
TCP/IP
全称: Transmission Control Protocol/Internet Protocol(传输控制协议/互联网协议)。
特点:
它是现代互联网的基础通信框架,定义了数据在网络中如何传输、路由和接收。
TCP/IP 协议栈: TCP/IP 并不是一个单一的协议,而是一个协议族,通常分为四层结构
层级 | 名称 | 功能描述 | 常见协议/技术 |
---|---|---|---|
1 | 应用层 | 提供用户与网络之间的接口,支持各种网络应用。 | HTTP, HTTPS, FTP, SMTP, DNS, SSH |
2 | 传输层 | 负责端到端的可靠通信,提供数据传输的可靠性、流量控制和错误检测功能。 | TCP, UDP |
3 | 网络层 | 负责数据包的路由和转发,提供逻辑寻址和路径选择功能。 | IP, ICMP, ARP, RARP |
4 | 链路层(网络接口层) | 负责物理网络上的数据帧传输,提供硬件地址和访问物理介质的功能。 | Ethernet, Wi-Fi, PPP, Bluetooth |