网络与接口

HTTP / HTTPS

/ AYCH-tee-tee-pee /

HTTP 是整个网络赖以建立的那一来一回:你的浏览器发出一个请求(「请把这个页面给我」),服务器回一个响应(「给你」)。你打开的每个页面、加载的每张图片、提交的每个表单,本质上都是这样一次小小的「请求—回复」往来。

每个请求都会指明一个方法——用 GET 去取东西、用 POST 去送东西——指向一个 URL,然后带着一个状态码回来(一切顺利是 200,东西不在是 404)。这是一场礼貌而无状态(stateless)的对话:每个请求各自独立,服务器一处理完就把你忘得一干二净。

HTTPS 是一模一样的对话,只是被锁进了一个信封里。那个 S 代表安全(secure):连接经过加密(用 TLS),所以在线路上偷看的人既读不到、也改不了途中传输的内容——这正是地址栏里那把小锁的来由。如今裸的 HTTP 被视为不安全,HTTPS 已经成了理所当然的默认。

$ curl -i https://example.com
HTTP/2 200
content-type: text/html; charset=UTF-8

一个请求发出去;一个响应带着状态 200 回来——成功。

无状态意味着每个请求都是一张白纸——所以网站要靠 cookie 和令牌(token)来记住你是谁。

又称
hypertext transfer protocolhttp requesthttp responsetlsssl