惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog
S
SegmentFault 最新的问题
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
J
Java Code Geeks
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI

博客园 - meetviolet

浅谈AI与Skill——从Claude Code看AI工具如何重塑技能价值 Linux-非Root用户-配置深度学习环境 学习清单 前端优化手段 react和vue的区别及优缺点 es5和es6的区别 伪数组和数组 盒模型 React生命周期 token能放在cookie中吗 new关键字的作用 浏览器如何渲染页面 defer和async区别 XSS跨站脚本攻击(Cross Site Scripting) CSRF跨站点请求伪造(Cross Site Request Forgery)攻击 浏览器垃圾回收机制:栈垃圾回收、堆垃圾回收、新生区老生区、Scavenge算法、标记-清除算法、标记-整理算法、全停顿、增量标记 CSS尺寸设置的单位:px、rem、em、vw、vh es6中箭头函数和this指向 js中null和undefined的区别
浏览器输入URL发生了什么:DNS解析、TCP握手、HTTP缓存、重定...
meetviolet · 2022-09-05 · via 博客园 - meetviolet

输入地址,浏览器查找域名的 IP 地址。

浏览器向 该 IP 地址的web 服务器发送一个 HTTP 请求,

在发送请求之前浏览器和服务器建立TCP的三次握手,判断是否是HTTP缓存,

如果是强制缓存且在有效期内,不再向服务器发请求,

如果是HTTP协商缓存向后端发送请求且和后端服务器对比,在有效期内,服务器返回304,直接从浏览器获取数据,

如果不在有效期内服务器返回200,返回新数据。

请求发送出去服务器返回重定向,浏览器再按照重定向的地址重新发送请求。

如果请求的参数有问题,服务器端返回404,

如果服务器端挂了返回500。

如果有数据一切正常,当浏览器拿到服务器的数据之后,开始渲染页面同时获取HTML页面中图片、音频、视频、CSS、JS,

在这期间获取到JS文件之后,会直接执行JS代码,阻塞浏览器渲染,因为渲染引擎和JS引擎互斥,不能同时工作,所以通常把Script标签放在body标签的底部。

渲染过程:

将HTML转换成dom树,

再将CSS样式转换成stylesheet,

根据dom树和stylesheet创建布局树,

对布局树进行分层,

为每个图层生成绘制列表,

再将图层分成图块,

紧接着光栅化将图块转换成位图,

最后合成绘制生成页面。