[{"data":1,"prerenderedAt":168},["ShallowReactive",2],{"blog-\u002Fblog\u002Fbrowser_basics":3},{"id":4,"title":5,"body":6,"category":155,"cover":156,"csdn":156,"date":157,"description":5,"draft":158,"extension":159,"meta":160,"navigation":161,"path":162,"seo":163,"stem":164,"tags":165,"updated":156,"__hash__":167},"blog\u002Fblog\u002Fbrowser_basics.md","浏览器基础",{"type":7,"value":8,"toc":145},"minimark",[9,13,16,35,39,43,67,70,84,96,100,132,136,139,142],[10,11,12],"h2",{"id":12},"浏览器工作原理",[10,14,15],{"id":15},"浏览器的组成",[17,18,19,23,26,29,32],"ol",{},[20,21,22],"li",{},"人机交互部分（UI）",[20,24,25],{},"网络请求部分（Socket）",[20,27,28],{},"JavaScript引擎部分（解析执行js）",[20,30,31],{},"渲染引擎部分（HTML，CSS等）",[20,33,34],{},"数据存储部分（cookie、H5中的本地存储LocalStorage、SessionStorage）",[10,36,38],{"id":37},"主流浏览器内核渲染引擎","主流浏览器内核（渲染引擎）",[40,41,42],"h4",{"id":42},"介绍",[44,45,46,49,52,55,58,61,64],"ul",{},[20,47,48],{},"Chrome——————Webkit——2014年后Blink（Webkit分支）",[20,50,51],{},"IE————————--Trident",[20,53,54],{},"Firefox——————--Gecko",[20,56,57],{},"Opera———————Blink———早期Presto",[20,59,60],{},"Safari———————webkit",[20,62,63],{},"Internet Explorer——Trident",[20,65,66],{},"Microso Edge———--EdgeHTML（Trident分支）",[40,68,69],{"id":69},"工作原理",[17,71,72,75,78,81],{},[20,73,74],{},"解析HTML构建DOM（Document Object Model 文档对象模型）树，",[20,76,77],{},"构建 '渲染树'",[20,79,80],{},"对 '渲染树' 进行布局，定位坐标和大小 layout \u002F reflow",[20,82,83],{},"调用操作系统底层API绘制",[85,86,87,92,95],"p",{},[88,89],"img",{"alt":90,"src":91},"在这里插入图片描述","https:\u002F\u002Fpub-5ec96507162a4f0a8e713a916117c9f4.r2.dev\u002Fblog\u002Fb4a610c6893d5a7b0f9e76350c42b830.png",[88,93],{"alt":90,"src":94},"https:\u002F\u002Fpub-5ec96507162a4f0a8e713a916117c9f4.r2.dev\u002Fblog\u002F24b4543effbae98b5b791a6802395e4f.png","\nyoutobe动画体验 chrome f12 ... more tools Rendering 勾选 Paint flashing",[10,97,99],{"id":98},"浏览器访问网址过程从输入网址按下回车到页面被渲染出来发生了什么","浏览器访问网址过程（从输入网址按下回车，到页面被渲染出来发生了什么）",[17,101,102,105,108,111,114,117,120,123,126,129],{},[20,103,104],{},"在浏览器地址栏里输入网址，按下回车",[20,106,107],{},"浏览器将URL（网址）构建HTTP请求报文",[20,109,110],{},"浏览器发起DNS解析请求，将域名转化为IP地址",[20,112,113],{},"浏览器将请求报文发送给服务器",[20,115,116],{},"服务器接收到报文，并解析",[20,118,119],{},"服务器处理用户请求，并将处理结果封装成HTTP响应报文",[20,121,122],{},"服务器将HTTP响应报文发送给浏览器",[20,124,125],{},"浏览器收到服务器的HTTP响应报文，并解析",[20,127,128],{},"浏览器解析HTML页面并展示，在解析HTML页面时遇到新的资源需再次发起请求",[20,130,131],{},"所有所需资源加载完毕，页面渲染完成",[10,133,135],{"id":134},"http请求报文和响应报文格式","HTTP请求报文和响应报文格式",[85,137,138],{},"、、、",[10,140,141],{"id":141},"web开发本质",[85,143,144],{},"。。。",{"title":146,"searchDepth":147,"depth":147,"links":148},"",2,[149,150,151,152,153,154],{"id":12,"depth":147,"text":12},{"id":15,"depth":147,"text":15},{"id":37,"depth":147,"text":38},{"id":98,"depth":147,"text":99},{"id":134,"depth":147,"text":135},{"id":141,"depth":147,"text":141},"前端",null,"2021-01-06",false,"md",{},true,"\u002Fblog\u002Fbrowser_basics",{"title":5,"description":5},"blog\u002Fbrowser_basics",[166],"浏览器","o0gU2cJKHT5bpgYtwpxA44R3iM7tWJVWpKJURFtUCEs",1783011523517]