浏览器输入url之后最后网页渲染出来经过了什么

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【10月更文挑战第31天】从浏览器输入 URL 到网页渲染出来是一个涉及多个环节和技术的复杂过程,每个环节都对最终的网页显示效果和用户体验有着重要的影响。

当在浏览器中输入 URL 后,到网页最终渲染出来,大致会经过以下一系列复杂的过程:

DNS 解析

  • 浏览器首先会对输入的 URL 进行解析,提取出其中的域名部分。然后,浏览器会向本地 DNS 服务器发送请求,查询该域名对应的 IP 地址。如果本地 DNS 服务器没有缓存该域名的 IP 地址,它会继续向上级 DNS 服务器查询,直到找到对应的 IP 地址并返回给浏览器。

建立 TCP 连接

  • 得到目标服务器的 IP 地址后,浏览器会与服务器建立 TCP 连接。这个过程包括三次握手:首先,浏览器向服务器发送一个 SYN 包,表示请求建立连接;服务器收到后,回复一个 SYN+ACK 包,表示同意建立连接,并确认收到了浏览器的请求;最后,浏览器再发送一个 ACK 包,确认收到服务器的回复,此时 TCP 连接建立成功。

发送 HTTP 请求

  • TCP 连接建立后,浏览器会按照 HTTP 协议的规定,向服务器发送 HTTP 请求。请求中包含请求方法(如 GET、POST 等)、请求 URL、HTTP 版本、请求头信息以及可能的请求体数据等。请求头中包含了一些关于浏览器和请求的元数据,如 User-Agent、Accept、Cookie 等,服务器可以根据这些信息来处理请求。

服务器处理请求

  • 服务器收到浏览器发送的 HTTP 请求后,会根据请求的内容进行相应的处理。服务器可能会执行一些业务逻辑,如查询数据库、处理表单数据等,然后生成相应的响应数据。

服务器返回 HTTP 响应

  • 服务器将处理后的响应数据按照 HTTP 协议的格式进行封装,形成 HTTP 响应。响应中包含 HTTP 版本、状态码(如 200 OK、404 Not Found 等)、响应头信息以及响应体数据。响应头中包含了一些关于响应的元数据,如 Content-Type、Content-Length、Set-Cookie 等,浏览器会根据这些信息来解析和处理响应。

浏览器接收并解析响应

  • 浏览器接收到服务器返回的 HTTP 响应后,首先会根据响应头中的信息来判断响应的状态和类型。如果状态码表示请求成功(如 200 OK),浏览器会开始解析响应体中的数据。对于 HTML 文档,浏览器会按照 HTML 语法规则进行解析,构建出 DOM 树;对于 CSS 样式表,浏览器会解析并应用样式规则,构建出 CSSOM 树;对于 JavaScript 脚本,浏览器会解释执行脚本代码。

渲染页面

  • 浏览器将解析得到的 DOM 树和 CSSOM 树合并成一个渲染树,然后根据渲染树中的信息,计算每个节点的布局位置和大小,并将其绘制到屏幕上,最终呈现出完整的网页。在渲染过程中,浏览器还会处理一些其他的任务,如加载和显示图片、执行 JavaScript 中的交互逻辑等。

后续处理

  • 网页渲染完成后,浏览器可能还会继续执行一些后续的操作,如加载和执行页面中的异步 JavaScript 代码、建立 WebSocket 连接进行实时通信、根据用户的操作触发相应的事件处理函数等,以实现网页的动态交互和更新。

从浏览器输入 URL 到网页渲染出来是一个涉及多个环节和技术的复杂过程,每个环节都对最终的网页显示效果和用户体验有着重要的影响。

目录
相关文章
|
6月前
|
缓存 网络协议 前端开发
当浏览器输入url的时候会发生什么?
当浏览器输入url的时候会发生什么?
92 0
|
4月前
|
缓存 网络协议 前端开发
一步步揭秘:浏览器输入URL后的那些事儿
大家好,我是小米!你有没有好奇过,当你在浏览器输入一个网址并按下回车键后,到底发生了什么神奇的过程?从DNS解析到TCP连接,从发送HTTP请求到浏览器渲染,本文将带你深入了解这个复杂而又迷人的过程,让我们一起探索吧!
52 2
|
3月前
|
缓存 JavaScript 前端开发
|
5天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
7天前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
1月前
|
缓存 网络协议 前端开发
浏览器输入一个URL后,发生了什么?
浏览器输入一个URL后,发生了什么?
25 1
|
6月前
|
缓存 负载均衡 网络协议
在浏览器地址栏中输入URL后发生了什么
这是一个关于网页加载过程的概述:首先,浏览器查询IP地址,通过DNS解析域名;接着,建立TCP连接,发起HTTP请求;服务器处理请求并返回HTTP响应;最后,浏览器解析和渲染网页内容。过程中涉及DNS缓存、TCP三次握手、HTTP请求与响应、HTML解析、CSS和JS加载,以及渲染树的构建。为了优化网站性能,可以减少DNS查询、合并文件、压缩资源、提前加载CSS和延迟加载JS。
|
22天前
|
域名解析 缓存 网络协议
浏览器输入 URL 回车后会经历哪些步骤?
本文首发于微信公众号“前端徐徐”,详细解析了从在浏览器中输入URL到页面完全呈现的全过程,涵盖检查缓存、URL解析、DNS解析、TCP连接、HTTP请求、服务器响应、浏览器处理响应、页面解析与渲染、关闭TCP连接等关键步骤。通过这些步骤,帮助读者深入了解互联网的工作原理,提升网站性能和用户体验。
12 0
|
3月前
|
网络协议 前端开发 JavaScript
浏览器加载网页的幕后之旅:从URL到页面展示详解
【8月更文挑战第31天】当在浏览器地址栏输入URL并回车后,一系列复杂过程随即启动,包括DNS解析、TCP连接建立、HTTP请求发送、服务器请求处理及响应返回,最后是浏览器页面渲染。这一流程涉及网络通信、服务器处理和客户端渲染等多个环节。通过示例代码,本文详细解释了每个步骤,帮助读者深入理解Web应用程序的工作机制,从而在开发过程中作出更优决策。
53 5
|
4月前
|
缓存 网络协议 Java
(六)网络编程之化身一个请求感受浏览器输入URL后奇妙的网络之旅!
在浏览器上输入一个URL后发生了什么? 这也是面试中老生常谈的话题,包括网上也有大量关于这块的内容。
121 2