• web 页面渲染


    浏览器

    功能:将用户需要的web资源显示出来。这些资源格式:HTML、PDF、image等

    页面生成过程:

    1.输入网址

    2.DNS解析查询IP

    3.浏览器项web服务器发送HTTP请求(三次握手四次挥手)

    4.网站服务的永久重定向响应301;

    为什么有永久重定向301:

      • 若同一个地址对应不同网址,不利于搜索引擎排名,使用定向,搜索引擎可以将不同的网址归属到同一地址。
      • 用不同的地址会造成缓存友好性变差。当一个页面有好几个名字时,它可能会在缓存里出现好几次。

    请求转发及重定向的区别:

    5.浏览器跟踪重定向地址

    6.服务器处理请求

    7.服务器返回HTML响应

    8.浏览器显示HTML

    9.浏览器发送请求,获取HTML中的内容,比如CSSJS、图片等资源文件。这些文件的读取过程同HTML文件的获取过程,DNS解析到显示,但是不同的是,静态资源可以通过浏览器进行缓存。过程如下:

                注:三者关系:html是主体,装载各种dom元素;css用来装饰dom元素;javascript控制dom元素。

    • 将HTML构建DOM树:(Document Object Model 文档对象模型),构建过程是深度遍历的过程,当前节点的所有子节点都够建好后才去遍历下一个兄弟节点。
    • 将CSS解析构造CSSOM
    • 根据DOM和CSSOM构造渲染树RenderTree。浏览器可以通过渲染树知道网页中各节点及节点的CSS定义及个基点的从属关系。
    • Layout,计算节点布局
    • 绘制:遍历render树,使用UI后端层绘制每个节点。

    10.浏览器发送异步(AJAX)请求。

    https://blog.csdn.net/sinat_23224827/article/details/48933729

    浏览器主要组件

    用户界面:地址栏、书签目录等主窗口外其他部分

    渲染引擎:显示请求的内容,如解析html、css,并将解析结果显示出来

    浏览器引擎:查询及操作渲染引擎的接口

    网络:用来完成网络调用,如:HTTP请求,具有平台无关性

    JS解释器:解析JS代码

    UI后端:用于绘制基本组件,如组合选择框及对话框等

    数据存储:H5定义了轻量级的web database(轻量级客户端存储技术)

    影响页面渲染

    css从右向左匹配,所以dom深度尽量要浅,减少inline javascript、css的数量

    JS的位置:如果在解析HTML的时候遇到js会阻塞页面渲染,所以应该将所有的js放在页面底部,即body闭合标签前,确保在脚本执行前页面已经完成了页面渲染。

    https://www.cnblogs.com/CandyManPing/p/6635008.html

  • 相关阅读:
    [BZOJ1013][JSOI2008]球形空间产生器sphere 高斯消元
    [Luogu1848][USACO12OPEN]书架Bookshelf DP+set+决策单调性
    [BZOJ1025][SCOI2009]游戏 DP+置换群
    [BZOJ1024][SCOI2009]生日快乐 搜索
    [BZOJ2002][Hnoi2010]Bounce弹飞绵羊 LCT
    「BZOJ 4565」「HAOI 2016」字符合并「区间状压DP」
    「BZOJ 5161」最长上升子序列「状压DP」
    「SPOJ TTM 」To the moon「标记永久化」
    「学习笔记」字符串大礼包
    「CF724G」Xor-matic Number of the Graph「线性基」
  • 原文地址:https://www.cnblogs.com/lyqf/p/14247105.html
Copyright © 2020-2023  润新知