← 返回软件技术总览 软件技术 · 知识点深化 · HTTP/HTTPS 全貌:请求响应、状态码、TLS 握手
知识点深化 · 网络 · HTTP

HTTP/HTTPS 全貌:请求响应、状态码、TLS 握手

HTTP 是浏览器和服务器的对话协议:一个请求一个响应。状态码 200/301/404/500 各有含义。HTTPS 在 HTTP 下加了 TLS 加密,既防窃听又防篡改还认证身份。这一页把请求响应结构、状态码、TLS 握手讲透。

① 小白第一课怎么学(4 步走,约 60 分钟)

别急着背代码,先按这四步建立直觉:

1看图建立直觉(10 分钟)
读②③:一次请求长什么样。
2记状态码(15 分钟)
读④:2/3/4/5 开头含义。
3手推握手(20 分钟)
精读⑤。
4刷题纠错(15 分钟)
做⑦⑩,错题回⑥。
本课小目标学完你要能:① 说清 HTTP 请求结构;② 记住常见状态码;③ 讲 TLS 握手做了什么。

② 一图看懂:HTTP/HTTPS 全地图

HTTP/HTTPS 请求报文 方法+URL+头+体 响应状态码 2xx/3xx/4xx/5xx HTTP 方法 GET/POST/PUT/DELETE TLS 握手 加密+认证+密钥协商 HTTPS=HTTP+TLS 加密 443 端口 易错:301 vs 302,401 vs 403 无状态靠 Cookie/Session
读法:中心是 HTTP,左请求响应右状态码,下是 TLS 与易错。

③ 本质直觉:一次 HTTP 请求就是"点菜-上菜"

请求报文:请求行(方法 URL 版本)+ 请求头(Host、Cookie 等)+ 空行 + 请求体。例如 GET /index.html HTTP/1.1。

响应报文:状态行(版本 状态码 短语)+ 响应头 + 空行 + 响应体。状态码第一位定大类:2xx 成功,3xx 重定向,4xx 客户端错,5xx 服务端错。

HTTPS:HTTP 明文会被窃听篡改,TLS 握手后协商出对称密钥,之后加密通信。还通过证书认证服务器身份,防钓鱼。

状态码分类 2xx 成功 3xx 重定向 4xx 客户端错 5xx 服务端错 200 OK / 301 永久 / 302 临时 404 找不到 / 401 未登录 / 403 禁止 500 服务器内部错 / 502 网关错 / 504 超时 HTTPS 443,HTTP 80
HTTP 无状态协议本身不记得你是谁,靠 Cookie/Session/JWT 在请求间维持登录态。

④ 完整体系与对比表

常见状态码

状态码含义
200成功
301 / 302永久重定向 / 临时重定向
304缓存未修改,用本地缓存
400请求参数错误
401 / 403未认证 / 无权限
404资源不存在
500 / 502 / 504服务器错 / 网关错 / 网关超时

TLS 握手做了什么

① 客户端发支持的加密套件;② 服务端返回证书(含公钥);③ 客户端验证证书,用公钥加密预备密钥传给服务端;④ 双方协商出会话密钥,之后用对称加密通信。

HTTPS 三目标保密性(对称加密)+ 完整性(防篡改)+ 身份认证(CA 证书)

⑤ 用法场景与典型例题

例1(状态码)访问一个已永久搬家的网址,服务器返回?
永久重定向。
301 Moved Permanently。浏览器会缓存并记住新地址。302 是临时。
例2(401 vs 403)没登录访问个人中心返回 401,登录了但无权访问管理员页返回?
401 未认证,403 已认证但无权限。
403 Forbidden:身份认证了但没有权限。401 是还没登录。
例3(HTTPS)TLS 握手为什么要证书?
认证服务器身份防钓鱼。
证书由 CA 签发,证明"这个公钥确实属于这个域名"。否则中间人可以伪装服务器。
做题心法状态码看第一位定大类;301/302 看永久临时;401/403 看有没有登录。

⑥ 高频错误诊断(4 条)

错误1:混淆 401 和 403401 是没登录(未认证);403 是登录了但没权限。
错误2:以为 HTTPS 全程非对称加密握手用非对称交换密钥,之后大量数据用对称加密(快)。
错误3:把 304 当错误304 是好事——资源没改,直接用本地缓存。
错误4:以为 HTTP 是有状态HTTP 无状态,登录态靠 Cookie/Session。

⑦ 考点真题演练(4 题)

考点分布

考法出题形式应对
状态码200/301/404/500 含义背表
重定向301 vs 302永久 vs 临时
HTTPSTLS 三目标保密/完整/认证
无状态靠什么维持登录Cookie/Session

真题基础1. HTTP 状态码 404 表示?

真题中档2. HTTPS 相比 HTTP 主要解决了什么?

真题中档3. 状态码 301 表示?

真题拔高4. HTTPS 握手后大量数据传输使用?

⑧ 必背知识点卡

请求:方法+URL+头+体
响应:状态行+头+体
2xx:成功 200
3xx:重定向 301永久/302临时/304缓存
4xx:客户端错 401未登录/403无权/404
5xx:服务端错 500/502/504
HTTPS:HTTP+TLS,443 对称加密+证书

⑨ 应用输出:设计网站全站 HTTPS 迁移

场景:把 http://example.com 全站升级成 https。
① 申请证书:从 CA 申请域名证书(Let's Encrypt 免费)。
② 服务器配置:Nginx 配置 443 端口,加载证书和私钥,开启 TLS。
③ 旧链接跳转:80 端口全部 301 永久跳转到 https。
④ 混合内容:页面里的 http 资源全部改成 https,否则浏览器拦截。
⑤ 验证:浏览器地址栏出现小锁,TLS 握手正常。
口述思路合上书说:"HTTPS 迁移就是装证书、开 443、80 端口 301 跳转、清混合内容。"

⑩ 分层练习(基础 + 中档 + 拔高)

▍基础 6 题

基础1HTTP 默认端口?
80;HTTPS 443。
基础2200 状态码含义?
成功。
基础3404 含义?
资源不存在。
基础4500 含义?
服务器内部错误。
基础5HTTPS 在 HTTP 下加了什么?
TLS 加密层。
基础6HTTP 有状态吗?
无状态,靠 Cookie/Session。

▍中档 6 题

中档7301 和 302 区别?
301 永久重定向(缓存),302 临时。
中档8401 和 403 区别?
401 未登录,403 登录了无权限。
中档9304 是什么意思?
资源未修改,用本地缓存。
中档10TLS 握手证书作用?
认证服务器身份、分发公钥。
中档11GET 和 POST 区别?
GET 幂等取数据参数在 URL;POST 提交数据。
中档12Cookie 和 Session 区别?
Cookie 存客户端,Session 存服务端靠 Cookie 标识。

▍拔高 6 题

拔高13为什么握手后用对称加密?
非对称加密慢,对称加密快且密钥已安全协商。
拔高14什么是 HSTS?
响应头告知浏览器以后只用 HTTPS 访问。
拔高15HTTP/1.1 keep-alive 作用?
复用 TCP 连接,避免频繁握手。
拔高16HTTP/2 改进?
多路复用、头部压缩、二进制分帧。
拔高17对称 vs 非对称加密?
对称加解密同密钥快;非对称公钥私钥对慢但解决密钥交换。
拔高18中间人攻击怎么防?
靠 CA 证书链验证,防止冒充服务器。

⑪ 记忆口诀 + 7 天复习计划

三句口诀① 请求响应四部分,状态码看第一位。② 200 成功 3 重定向 4 客错 5 服错。③ HTTPS 握手换密钥,之后对称加密快。
天任务自检
第 1 天读②③④,画请求响应结构对
第 2 天背状态码 + 基础 1-6常见码对
第 3 天做中档 7-12,区分 401/403能说清
第 4 天做拔高 13-18,讲 TLS 握手对称非对称分清
第 5 天做⑦真题 4 题限时每题 2 分钟
第 6-7 天合上书默画状态码表不看资料全默对

← 返回软件技术总览