浏览器访问 URL 的过程
最编程
2024-10-12 15:38:18
...
- DNS 解析:
- 浏览器首先会解析出域名,然后查找域名对应的 IP 地址。依次访问浏览器缓存 → 操作系统缓存 → hosts 文件 → 本地 DNS 服务器 → 根域名服务器 → *域名服务器 → 权威 DNS 服务器,直到得到 IP 地址。
- 建立 TCP 连接:
- 浏览器通过 DNS 解析得到服务器的 IP 地址后,会通过 TCP 协议与服务器建立连接。这个过程包括 TCP 的三次握手。
- 发送 HTTP 请求:
- 连接建立后,浏览器会向服务器发送 HTTP 请求。请求中包括请求行(方法、URL、协议版本)、请求头部(如 Accept、Cookies 等)、请求体(对于 POST 请求)等信息。
- 服务器处理请求:
- 服务器收到请求后,会根据请求的内容进行处理,可能涉及到数据查询、动态页面生成、文件读取等操作。
- 服务器发送响应:
- 服务器处理完请求后,会将响应的内容通过 HTTP 响应发送回客户端。响应包括状态行(协议版本、状态码)、响应头部(如 Content-Type、Content-Length 等)、响应体(HTML 页面、图片、视频等)。
- 浏览器解析渲染:
- 浏览器接收到响应后,会根据响应的内容进行解析。如果是 HTML 页面,则解析 HTML 结构,构建 DOM 树;解析 CSS 文件,生成 CSSOM 树;将 DOM 树和 CSSOM 树合并生成渲染树;根据渲染树计算每个节点的布局信息;最后将页面内容显示在用户界面上。
- 连接结束:
- 页面加载完成后,浏览器会保持 TCP 连接一段时间,以便快速获取页面中的其他资源(如图片、脚本、样式表等),或者关闭连接。
推荐阅读
-
浏览器访问 URL 的过程
-
不同浏览器、服务器和规范对 URL 长度的限制-3.HTTP 规范:
-
升级后,非官方的https网页在Chrome浏览器中无法访问
-
从网络层开始,深入探究访问一个网页的全过程(超级详细版)
-
跨域访问问题在Chrome浏览器版本升级中的影响
-
CentOS 7安装ipvsadm和Nginx,并进行基本配置与测试 下面是重写后的段落: 1. 关闭防火墙 2. 在浏览器中输入服务器IP地址并访问 3. 修改网页内容以区分不同的服务器 4. 配置lvs/nat,使用自定义的脚本 5. 检查ipvsadm设置的规则 6. 关闭防火墙 7. 测试LVS效果。
-
从URL到页面显示的全过程解析:回流、重绘和优化,让你一次搞懂
-
如何在手机QQ或微信内置浏览器中,点击链接后自动切换至默认浏览器来访问下载应用的链接?
-
如何在手机应用或浏览器内访问通过手机连接到的电脑上的Tomcat搭建的网页服务及其内容
-
实录一次为 Nginx 搭配 proxy_pass 后出现 404 不可访问情况的配置过程