一句话说清
万维网是互联网上的一个应用,靠 HTTP 一问一答。
为什么值得懂
《互联网原理》讲数据怎么打包接力;这篇讲送到之后,浏览器和服务器说的是什么话。
零基础讲解
一、万维网是三个约定拼起来的。 1989 年 3 月,欧洲核子研究中心的伯纳斯-李在提案里提出用超文本把文档连起来。落到地上只要三样:地址(URL)、交换方式(HTTP)、页面语言(HTML)。
二、HTTP 是一次请求换一次响应。 请求写清方法与目标,响应带回状态码与内容。RFC 9110 第 3 章把它拆成资源、表示、连接几个概念,第 9 章定义方法:GET 取、POST 提交、PUT 覆盖。
三、状态码是简写的诊断。 2 开头成功,3 开头去别处取,4 开头是客户端的问题,5 开头是服务器的问题。
四、缓存让同样的内容不必再走一遍。 RFC 9110 第 3.8 节把缓存放在客户端与源站之间:有效期内直接由缓存交出去,过期了再去问源站。这就是改了网站却看到旧页面的原因。
五、REST 是一种架构风格,不是一个协议。 菲尔丁的博士论文第 5 章把万维网能扩展的原因归为几条约束:资源各有地址、方法统一、服务器不记住客户端状态。
有争议:REST 该守到什么程度。 主流观点是它描述约束而非规范,菲尔丁在论文第 5 章强调这是一组架构选择。也有观点认为把它当验收标准不现实:大量接口用动作名而非资源地址,而 RFC 9110 第 9 章只规定方法语义,不要求 URL 长什么样。
一个例子
同一个商品地址,手机上和电脑上打开:价格一样,推荐不同。地址相同,回来的内容未必相同。
常见误解
- 以为万维网就是互联网:它只是跑在互联网上的一个应用。
- 以为 404 表示网站挂了:它只是说这个地址下没有东西。
- 以为 HTTP 天生加密:加密由 HTTPS 承担,是另一层。
应用场景
- 生活:网页出错先看状态码,再决定刷新还是换入口。
- 职场:写接口文档写清方法与状态码,比写「返回数据」有用。
- 写作与创作:写黑客情节,让他看响应头,而不是敲炫技命令。
关联知识点
- 互联网原理(web-internet,先读它:数据怎么打包接力)
- 互联网协议 TCP/IP(tcp-ip,HTTP 跑在它上面)
- 域名系统(dns,地址栏里的名字靠它换地址)
- 网络安全(cybersecurity,HTTPS 加在哪一层)
- 所属主线:语言与意义、因果与系统