互联网是如何运作的?第一部分
💡
原文英文,约5900词,阅读约需22分钟。
📝
内容提要
点击链接时,浏览器会解析URL或搜索词,检查HSTS列表,进行DNS查询,将域名解析为IP地址。然后建立TCP连接,进行TLS握手,发送HTTP请求,服务器返回响应。浏览器解析HTML和CSS,构建DOM和渲染树,呈现页面。加载JavaScript等资源后,页面完成渲染,用户可交互。
🎯
关键要点
- 点击链接时,浏览器解析URL或搜索词,检查HSTS列表,进行DNS查询,将域名解析为IP地址。
- 建立TCP连接,进行TLS握手,发送HTTP请求,服务器返回响应。
- 浏览器解析HTML和CSS,构建DOM和渲染树,呈现页面。
- 加载JavaScript等资源后,页面完成渲染,用户可交互。
- 按下键盘时,浏览器注册事件并触发自动完成功能,提供建议。
- 按下Enter键时,电路闭合,生成键码并通过USB或蓝牙传输到计算机。
- 浏览器解析URL,提取协议和资源,判断是URL还是搜索词。
- 检查HSTS列表,决定使用HTTP或HTTPS进行请求。
- 进行DNS查找,检查缓存和本地hosts文件,向DNS服务器请求解析。
- 通过ARP过程解析DNS服务器的IP地址,确保请求正确路由。
- 建立TCP连接,进行TLS握手,确保安全通信。
- 发送HTTP请求,服务器处理请求并返回响应。
- 浏览器解析HTML,构建DOM树,处理CSS和JavaScript。
- 渲染引擎创建帧树,计算节点的宽度和高度,处理复杂元素。
- 使用GPU进行图形渲染,提升性能和用户体验。
- JavaScript代码执行后,可能发起网络请求或修改DOM,增强交互性。
❓
延伸问答
浏览器在点击链接时会执行哪些步骤?
浏览器会解析URL或搜索词,检查HSTS列表,进行DNS查询,将域名解析为IP地址,建立TCP连接,进行TLS握手,发送HTTP请求,最后解析响应并渲染页面。
什么是HSTS列表,它的作用是什么?
HSTS列表是一个包含要求仅通过HTTPS访问的网站的预加载列表,浏览器会优先使用HTTPS进行请求,以增强安全性。
DNS查询的过程是怎样的?
DNS查询首先检查缓存和本地hosts文件,如果未找到,则向DNS服务器发送请求,可能还会通过ARP解析DNS服务器的IP地址。
浏览器如何解析HTML和CSS?
浏览器解析HTML和CSS后,构建DOM树和渲染树,计算节点的宽度和高度,最终呈现页面。
TCP连接的建立过程是怎样的?
TCP连接通过三次握手建立,客户端发送SYN包,服务器回应SYN-ACK包,最后客户端发送ACK包确认连接。
浏览器如何处理用户输入的键盘事件?
浏览器注册键盘事件,生成键码并通过USB或蓝牙传输到计算机,最终触发相应的应用程序响应。
➡️