请求:请给我首页
GET / HTTP/1.1
Host: example.com
GET 表示读取内容,/ 表示网站首页。浏览器还会附带自己支持的格式等信息。
互联网大白话 · 第三模块
拿到 IP 只是找到了大楼。浏览器还要找到入口、建立连接、确认身份、请求内容,最后把收到的材料拼成页面。
← 先看 DNS 如何找到地址先看全程
每一站解决一个不同的问题。
大楼在哪
从哪个入口进
先把线路接通
确认身份并加密
一问一答拿内容
把材料拼成页面
找到楼,还要找门
同一台设备可以同时提供网页、邮件等多种服务。端口像不同入口,让到达设备的数据知道应该交给谁。
80443第三站 · TCP
TCP 的重点不是背这些招呼,而是理解:双方先建立一条可靠通道,尽量保证数据完整、按顺序到达;如果途中丢失,会尝试补发。
第四站 · TLS
TLS 会检查网站出示的证书是否适用于当前域名,并协商加密方式。之后传输的网页内容不容易被沿途直接看懂或悄悄改动。
第五站 · HTTP
可以把它理解成一张点单和一张回执。
200成功内容正常返回。
301 / 302换地址请改去另一个网址。
404没找到服务在,但这个页面不存在。
500服务出错网站处理请求时出了问题。
第六站 · 浏览器
浏览器先读 HTML,再按线索继续请求样式、图片和脚本,最后计算布局并绘制到屏幕。你看到的网页,是多份材料协作的结果。
HTML搭结构标题、段落、按钮放在哪里。
CSS定样式颜色、字号、间距如何呈现。
JS做交互点击之后,页面如何回应。