各大网站提交入口,阿里巴巴的网站是自己做的吗,河北 建设厅网站首页,做视频网站视频用什么插件Web浏览器的主要功能是展示网页资源#xff0c;即请求服务器并将结果展示在窗口中。工作原理大概如下#xff1a; 地址栏输入URL 浏览器根据输入的URL查找域名的IP地址#xff0c;DNS查找过程如下#xff1a; 浏览器缓存——浏览器会缓存DNS记录一段时间#xff0c;不同浏… Web浏览器的主要功能是展示网页资源即请求服务器并将结果展示在窗口中。工作原理大概如下 地址栏输入URL 浏览器根据输入的URL查找域名的IP地址DNS查找过程如下 浏览器缓存——浏览器会缓存DNS记录一段时间不同浏览器默认缓存时间不一样IE默认为30分钟Firefox默认是1分钟。系统缓存——如果在浏览器缓存里没有找到需要的缓存记录浏览器会到系统缓存中查找。路由器缓存——如果系统缓存中也没有就会将请求发给路由器并在其DNS缓存中查找。ISP缓存——如果路由器缓存中没有就会将请求发给ISP的DNS缓存服务器并在其记录中查找。访问根域名服务器——如果ISP缓存中没有就会由ISP向根域名服务器进行递归搜索查找到对应记录并返回。 浏览器与对应Web服务器建立TCP连接并发送HTTP请求Web服务器接收到请求后进行一系列分析处理关于HTTP请求响应的详细过程以后再进行剖析并返回HTML文件。 浏览器解析HTML 浏览器接收到服务器返回的HTML文件解析head标签 关于页面的一些配置标签例如title、meta、base等以后再进行剖析这些会对页面属性进行设置。碰到内联CSS和JS会立即解析执行。碰到外部CSS和JS会并发请求相关资源然后解析执行。不同浏览器针对同一域的同一时间默认并发连接数会有不同一般在10个以内。 接着浏览器开始解析body里的内容 碰到需要获取其他地址内容的标签例如img、script会并发请求相关资源。 当HTML解析器遇到script标签时默认必须先执行脚本然后再恢复文档的解析和渲染。脚本的执行只在默认情况下是同步和阻塞的。script标签可以通过defer和async属性来改变脚本的执行方式。使用defer和async属性可以让浏览器在下载脚本时继续解析和渲染文档。defer属性使浏览器延迟脚本的执行直到文档的载入和解析完成。async属性使浏览器可以尽快地执行脚本而不用在下载脚本时阻塞文档解析。如果script标签同时拥有这两个属性同时支持这两者的浏览器会执行async属性并忽略defer属性。延迟脚本会按照他们在文档里的出现顺序来执行而异步脚本在他们载入后执行可能会无序执行。 浏览器渲染原理 关于浏览器的渲染原理这里有篇流传很广很不错的文章——《How browsers work》英文版中文翻译版就不细说了。简要分析几点 浏览器的主要组件 1. 用户界面——包括地址栏、后退/前进按钮、书签目录等也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分。 2. 浏览器引擎——用来查询及操作渲染引擎的接口。 3. 渲染引擎——用来显示请求的内容例如如果请求内容为HTML它负责解析HTML及CSS并将解析后的结果显示出来。 4. 网络——用来完成网络调用例如HTTP请求它具有平台无关的接口可以在不同平台上工作。 5. UI后端——用来绘制类似组合选择框及对话框等基本组件具有不特定于某个平台的通用接口底层使用操作系统的用户接口。 6. JS解释器——用来解释执行JS代码。 7. 数据存储——属于持久层浏览器需要在硬盘中保存类似cookie的各种数据HTML5定义了web database技术这是一种轻量级完整的客户端存储技术。 图1浏览器主要组件 Chrome为每个Tab分配了各自的渲染引擎实例每个Tab就是一个独立的进程。 reflow和repaint 浏览器渲染过程中经常伴随着reflow和repaint如果只是改变某个元素的背景色、文字颜色等不影响Dom布局的属性时会引起浏览器进行repaint相对而言如果改变影响Dom布局的属性时就会引起浏览器进行reflow而reflow比repaint开销要大很多因此应尽量避免。转载于:https://www.cnblogs.com/ywang1724/p/3916633.html