http和https区别、令牌、三次握手流程

一、HTTP 和 HTTPS 的区别(必背)

1️⃣ 本质区别(一句话)

HTTP 是明文传输,HTTPS 是在 HTTP 基础上加了一层 SSL/TLS 加密。


2️⃣ 核心对比表

对比项 HTTP HTTPS
是否加密 ❌ 明文 ✅ 加密
安全性
端口 80 443
证书 不需要 需要 CA 证书
防篡改
防中间人
性能 稍快 略慢(已可忽略)

3️⃣ HTTPS 解决了什么问题?

HTTP 三大风险

  • 窃听(明文被抓包)

  • 篡改(内容被修改)

  • 冒充(假服务器)

HTTPS 三大能力

  • 加密

  • 身份认证

  • 完整性校验


二、HTTPS 底层原理(TLS 握手流程)⭐

面试官很爱从 HTTPS 问到这里

简化版流程(记住这个)

复制代码
1. 客户端 → ClientHello
2. 服务端 → ServerHello + 证书
3. 客户端验证证书
4. 协商对称密钥
5. 使用对称加密通信

关键点

  • 非对称加密:用于交换密钥

  • 对称加密:用于真正传输数据(快)


三、令牌(Token)是什么?为什么要用?

1️⃣ Token 是什么?

Token 是服务器签发的一段字符串,用来标识用户身份。

常见:

  • JWT

  • Access Token

  • Refresh Token


2️⃣ 为什么不用 Session?

Session Token
依赖服务器存储 无状态
不适合分布式 适合
需要 Cookie 可脱离 Cookie

3️⃣ Token 的典型流程

复制代码
1. 登录成功 → 服务端生成 Token
2. 客户端保存 Token
3. 每次请求携带 Token
4. 服务端校验 Token

常见携带方式

复制代码
Authorization: Bearer xxx

4️⃣ JWT 的结构(常考)

复制代码
Header.Payload.Signature
  • Header:算法

  • Payload:用户信息

  • Signature:防篡改


5️⃣ Token 为什么要配合 HTTPS?

👉 Token 本身不加密

👉 没 HTTPS = Token 会被抓包


四、TCP 三次握手(超高频)⭐

1️⃣ 为什么要三次?

确保双方的收发能力都正常。


2️⃣ 三次握手流程(背这个)

复制代码
第一次:客户端 → SYN
第二次:服务端 → SYN + ACK
第三次:客户端 → ACK

图示理解

复制代码
客户端            服务端
   | ---- SYN ----> |
   | <--- SYN+ACK --|
   | ---- ACK ----> |

3️⃣ 每一步干了什么?

1️⃣ 客户端:

"我能发,你能收吗?"

2️⃣ 服务端:

"我能收,也能发,你呢?"

3️⃣ 客户端:

"我也能收,开始通信吧"


4️⃣ 为什么不是两次 / 四次?

  • 两次:服务端不知道客户端能不能收

  • 四次:浪费一次


五、HTTP 请求整体流程(串起来)

复制代码
1. DNS 解析
2. TCP 三次握手
3. TLS 握手(HTTPS)
4. HTTP 请求 / 响应
5. TCP 四次挥手

六、面试 30 秒连环回答模板(直接背)

HTTP 是明文传输不安全,HTTPS 在 HTTP 上通过 TLS 实现加密、认证和完整性校验;

HTTPS 握手阶段使用非对称加密协商对称密钥,后续通信使用对称加密;

登录后通常使用 Token 鉴权,客户端在请求头中携带,必须依赖 HTTPS 防止被窃取;

所有通信建立前都需要经过 TCP 三次握手来确认双方收发能力。


相关推荐
SDWAN_Cheap3 分钟前
HTTPS到底加密了什么?
https·数据加密
曼巴UE542 分钟前
UE5 客户端 需要的网络同步概念总结(3 )-事件同步 RPC 以及三种调用方式
网络·c++·网络协议·学习·rpc·ue5
captain3761 小时前
HTTP(2)
java·网络·http·java-ee
开开心心就好1 小时前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
2501_916008891 小时前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
比兔代理11 小时前
正向代理与反向代理技术辨析,为什么代理 IP 属于正向代理
服务器·网络·http·ip
Lsetea17 小时前
Nginx报No required SSL certificate was sent:mTLS客户端证书排查
运维·nginx·https·ssl·openssl
K成长日志1 天前
DALI协议-Part209-颜色控制
物联网·网络协议·iot·智能照明·智能建筑·dali
ZeroNews内网穿透1 天前
内网部署 Halo 建站,用 ZeroNews 免费内网穿透安全发布到公网(无公网 IP 也能 HTTPS 访问)
docker·https·内网穿透·nas·反向代理·halo·zeronews
IPdodo_1 天前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议