一、URL 结构解析
URL(统一资源定位符)是互联网资源的地址,格式如下:
协议://主机名[:端口号]/路径[?查询参数][#片段标识符]
-
协议 :如
http、https,规定了浏览器与服务器的通信规则 -
主机名 :如
www.baidu.com,目标服务器的域名或 IP 地址 -
端口号 :默认端口可省略(
http为 80,https为 443) -
路径:指向服务器上的具体资源位置
-
查询参数 :通过
?传递额外信息给服务器,多个参数用&分隔 -
片段标识符 :通过
#定位页面内的具体位置
示例:
https://www.taobao.com/search?q=电脑
协议:
https
,主机名:
www.taobao.com
,路径:
/search
,查询参数:
q=电脑
https://www.baidu.com/login?name=zhangsan&passwd=123456
协议:
https
,主机名:
www.baidu.com
,路径:
/login
,查询参数:
name=zhangsan&passwd=123456
二、HTTP 协议
HTTP(超文本传输协议)是从 Web 服务器向本地浏览器传输 HTML 等超文本的协议。
-
通信模式:客户端(浏览器)发送请求(Request)→ 服务器返回响应(Response)
-
特点:无状态协议,每次请求相互独立,默认端口为 80
-
HTTPS:HTTP + SSL/TLS 加密,默认端口为 443,用于传输敏感信息
三、加密技术
1. 对称加密
-
加密和解密使用同一把密钥
-
优点:运算速度快
-
缺点:密钥传输存在安全风险
2. 非对称加密
-
公钥(公开)和私钥(保密)成对出现
-
公钥加密 → 私钥解密;私钥加密 → 公钥解密
-
优点:无需安全传输密钥
-
缺点:运算速度较慢
3. CA 与证书信任链
-
问题:公钥传输时,无法确认收到的公钥是否来自目标服务器(可能被中间人篡改)
-
解决方案:通过 CA(第三方权威机构) 颁发数字证书,验证公钥的合法性,解决信任闭环问题
一、SSL 和 TLS 是什么?
-
SSL(Secure Sockets Layer,安全套接层):是早期为网络通信提供加密的协议,现已被更安全的 TLS 取代,不再推荐使用。
-
TLS(Transport Layer Security,传输层安全协议):是 SSL 的升级版,是目前主流的安全通信协议,用于在客户端和服务器之间建立加密连接,保障数据传输的机密性与完整性。
二、SSL/TLS 可以和什么组合使用?
SSL/TLS 并不是只能和 HTTP 结合,它本质是一个通用的加密传输层,可以为多种上层协议提供安全加密通道:
-
HTTP + SSL/TLS → HTTPS:这是最常见的组合,用于加密网页访问。
-
SMTP + SSL/TLS → SMTPS:加密邮件发送。
-
POP3 + SSL/TLS → POP3S:加密邮件接收。
-
FTP + SSL/TLS → FTPS:加密文件传输。
-
IMAP + SSL/TLS → IMAPS:加密邮件的访问与同步。
-
XMPP + SSL/TLS:加密即时通信数据。
-
MQTT + SSL/TLS:加密物联网设备的通信。
简单来说,只要是基于 TCP 的应用层协议,大多都可以通过 SSL/TLS 来加密传输。
三、HTTP 这类常见的应用层协议还有哪些?
HTTP 属于应用层协议,同层级的常见协议包括:
-
文件传输类
-
FTP(File Transfer Protocol):用于文件上传和下载。
-
SFTP(SSH File Transfer Protocol):基于 SSH 的安全文件传输。
-
-
邮件类
-
SMTP(Simple Mail Transfer Protocol):发送邮件。
-
POP3(Post Office Protocol 3):接收邮件。
-
IMAP(Internet Message Access Protocol):在服务器上管理邮件。
-
-
远程访问类
-
SSH(Secure Shell):安全远程登录服务器。
-
Telnet:早期远程登录协议(未加密,已被 SSH 取代)。
-
-
域名与网络配置类
-
DNS(Domain Name System):将域名解析为 IP 地址。
-
DHCP(Dynamic Host Configuration Protocol):自动分配 IP 地址等网络参数。
-
-
即时通信与物联网类
-
XMPP:用于即时通信(如早期的 Jabber)。
-
MQTT:轻量级物联网通信协议。
-
要不要我帮你整理一份常见应用层协议对比表,把协议的用途、端口号和安全版本都列出来,方便你记忆?