§ 3.1 · Sub-chapter

HTTP / HTTPS 篇

HyperText Transfer Protocol

HTTP 是你每天用得最多的协议——只要打开网页、刷 App、看公众号,背后都是 HTTP 在跑。它定义了"浏览器和服务器怎么对话":你问什么、它答什么、答错了怎么告诉你。

生活场景
🍽️ 你去餐厅点餐

HTTP 就像你跟服务员的对话:

你说:"我要一份牛肉面,加香菜不加葱。"(请求
服务员记下来,送到后厨。(处理
后厨做好,服务员端给你:"您的牛肉面。"(响应
如果没牛肉了,服务员说:"不好意思,卖完了。"(错误响应
整个过程有固定格式——你不能上来就喊"面!",得说"我要一份……"——这就是 HTTP 的"协议格式"。

HTTP 请求长什么样

你在浏览器输 baidu.com,浏览器实际发了这么一段文字给服务器:

HTTP Request

GET / HTTP/1.1
Host: baidu.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_0)
Cookie: BAIDUID=1234567890ABCDEF
Accept: text/html,application/xhtml+xml

HTTP 响应长什么样

服务器收到后,回一段文字 + 网页内容:

HTTP Response

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Set-Cookie: BAIDUID=1234567890ABCDEF; Path=/; Max-Age=31536000

<!DOCTYPE html><html>...网页内容...</html>

常见状态码速查

状态码含义你什么时候见到
200成功正常打开网页
301 / 302永久/临时跳转旧网址换新网址
304没变化,用缓存刷新网页,内容没变
400请求格式错了网址输错参数
401没登录,没权限访问需要登录的页面
403禁止访问IP 被封、地区限制
404没找到网址不存在、页面被删
500服务器内部错误网站崩了
502 / 503网关错误/服务不可用服务器过载、维护中

Cookie · HTTP 的"记忆机制"

HTTP 协议本身是无状态的——服务器不记得你上次来过。每次请求都是"陌生人"。但网站需要"记住"你——登录状态、购物车、浏览记录。Cookie 就是干这个的。

生活场景
🎫 游乐园的"快速通行证"

你去迪士尼,第一次入园时给你一张"快速通行证"(Cookie)。
之后每次玩项目,你出示这张证——工作人员一看就知道"你是 VIP,不用排队"。
没有这张证,你每次都要重新排队、重新验证身份。
Cookie 就是浏览器里的"快速通行证"——网站给你发一张,你每次访问都带着,网站就知道"你是张三,已登录"。

Cookie 的工作流程

1. 你第一次访问网站

服务器响应里带 Set-Cookie: sessionid=abc123——浏览器自动存下来。

2. 你之后每次访问

浏览器自动在请求头里加 Cookie: sessionid=abc123——服务器一看就知道"你是刚才那个人"。

3. 你登录

服务器验证账号密码后,发一个"登录态" Cookie(比如 token=xyz789)——之后你访问任何页面都带着它,不用反复登录。

4. Cookie 过期

服务器可以设 Max-Age(有效期)——过期后浏览器自动删除,你得重新登录。

Cookie 能看到什么

Cookie 里存什么例子
会话 IDsessionid=abc123——标识"这次访问"
登录态token=xyz789——标识"你已登录"
用户偏好theme=dark——记住你喜欢深色模式
购物车cart=item1,item2——记住你加了什么
追踪 IDuid=456——广告商用来追踪你看了什么

Cookie 的安全问题

HTTPS · HTTP 的加密版

HTTPS = HTTP + TLS(传输层加密)。它在 HTTP 外面包了一层"加密隧道"——即使数据被截获,黑客也看不懂。

HTTPHTTPS
传输内容明文——谁都能看加密——只有双方能解密
默认端口80443
证书不需要需要 CA 颁发的证书
速度快一点慢一点(加密解密要算力)
安全性低——能被监听、篡改高——防监听、防篡改、防冒充
Analogy · 明信片 vs 密封信

HTTP 像明信片——邮递员、分拣员、任何人都能看你写了什么。
HTTPS 像密封信——信封上只有地址,内容只有收信人能拆。
2020 年后,所有正规网站都用 HTTPS——浏览器地址栏有个小锁🔒,就是 HTTPS 的标志。

HTTP/2 和 HTTP/3 · 更快的新一代

你每天都在用的 HTTP 方法

方法干什么你什么时候触发
GET获取资源打开网页、刷抖音、看图片
POST提交数据登录、发朋友圈、填表单
PUT更新资源改头像、编辑资料
DELETE删除资源删微博、清空购物车
HEAD只获取头部检查文件是否存在、大小
Recap · 收束

HTTP 是"浏览器和服务器对话的格式"——请求/响应、状态码、Cookie、HTTPS 加密,四件事搞定。
Cookie 是 HTTP 的"记忆补丁",让无状态的协议能"记住"你。理解 Cookie,你就理解了"为什么登录一次,之后不用反复登"。

☰ 主页
Xue Hai Wu Ya · Network · § 3.1 · HTTP / HTTPS