protocol_basics [02] — HTTP / HTTPS
xiaobai@computer:~$ curl -I https://example.com

HTTP / HTTPS:
网页的通用语言

你每打开一个网页,浏览器都在跟服务器说同一种话:HTTP。它的模式特别简单——你问一次,它答一次,像去餐厅点菜。

阅读约 9 分钟 · 零基础

## 02.1

一次网页浏览发生了什么

把网站想象成一家餐厅:你是顾客(浏览器),后厨是服务器。你递上点菜单(请求),后厨做好菜端出来(响应),吃完这单就结束——HTTP 就规定了「点菜单」和「出餐」的标准格式。

HTTP 的全名是 HyperText Transfer Protocol(超文本传输协议),默认端口 80;加密版 HTTPS 默认端口 443。它建立在 TCP 之上,所以之前讲的「可靠送达」它是白捡的。

## 02.2

请求:你会说的几句话

浏览器发给服务器的请求主要由「方法 + 地址 + 头信息 + 内容」组成。小白阶段只需要认识这几个方法:

方法意思餐厅类比
GET我要「读取」内容,不改任何东西翻看菜单
POST我要「提交」数据给服务器下单点菜
PUT / PATCH修改已有的内容改一下刚才的订单
DELETE删除某个内容退掉一道菜
HEAD只要响应头,不要正文(探测用)只问「有这道菜吗」,不上菜
一次真实请求长什么样
GET /index.html HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 ...
Accept: text/html

## 02.3

响应:状态码是最重要的暗号

服务器回复时都会带一个三位数状态码。记住开头的数字就够用:

以后网页出错,先看状态码:4 开头检查你输入的网址,5 开头等网站自己修。

## 02.4

HTTPS 的 S 是什么?

HTTP 是明文传输:内容像明信片,路上谁都能看、甚至能改。HTTPS = HTTP + TLS 加密,相当于把明信片装进保险箱,只有收件人有钥匙。

在咖啡馆连公共 Wi-Fi 时,如果你访问的是纯 HTTP 网站,同一网络里的人理论上能看到你收发的内容;HTTPS 会把这些内容变成谁也读不懂的密文。这就是浏览器给纯 HTTP 网站标「不安全」的原因。

如今 HTTPS 已经是标配——本站的 https:// 前缀和小锁图标,就是 TLS 在背后工作。加密细节见 第 4 课:TLS/SSL →