美文网首页
从输入URL到页面展示的详细过程

从输入URL到页面展示的详细过程

作者: 月半女那 | 来源:发表于2019-05-08 15:14 被阅读0次

    大致流程

    1. 输入网址
    2. DNS解析
    3. 建立tcp连接
    4. 客户端发送HTTP请求
    5. 服务器处理请求
    6. 服务器响应请求
    7. 浏览器显示HTML
    8. 浏览器发送请求获取其他在HTML中的资源(图片,音频,视频,css, js....)

    1. 浏览器渲染页面的全过程

    1. 解析HTML生成DOM树
    2. 解析CSS 生成 style rules
      (脚本处理,当遇到script标签的时候,会立即解析脚本,停止解析文档,如果脚本是外部的会等待脚本下载完毕之后,在继续解析文档,但是现在可以在script标签上加defer/async,将该改变DOM/CSS的地方分别解析出来,追加到DOM Tree / Style Rules上)
    3. 将二者关联生成render tree
    4. layout 根据render tree 计算每个节点的信息
    5. painting根据计算好的信息绘制整个页面
      页面渲染优化
      在改变文档颜色字体等视觉信息的时候会触发文档的重绘,而改变元素位置等DOM元素的几何变化会导致重排
      a. html 文档结构层次尽量少,最好小于六层,
      b. 脚本尽量后方
      c. 在脚本中减少DOM操作

    2. http和https区别

    http是以明文的方式发送内容的,不提供 任何方式的数据加密 ,不适合传输一些敏感信息
    https是在http的基础上加入了SSL/TSL ,依靠证书来验证服务器的身份,为浏览器和服务器之间的通信加密
    https协议需要CA申请证书,http和https使用的是完全不同的连接方式,使用的端口也不一样,http是80,https是443
    客户端使用HTTPS方式与web服务器通信的步骤

    1. 客户端使用HTTPS的URL访问web服务器,要求与web服务器建立SSL连接
    2. web服务器收到客户端请求后,将网站的证书(证书中包含公钥)传送一份到客户端
    3. 客户端的浏览器与web服务器开始协商SSL连接的安全等级,也就是信息的加密等级
    4. 建立会话密钥,然后利用网站的公钥开始将会话密钥加密,并传送给网站
    5. web服务器利用自己的私钥解密会话密钥
    6. web服务器利用会话密钥加密与客户端之间的通信
      在交换密钥阶段使用公开密钥加密(非对称密钥加密)方式,之后建立通信交换保温阶段使用共享密钥加密(对称密钥加密)
      https和http区别https://blog.csdn.net/qq_32998153/article/details/80022489

    3. DNS(Domain Name System)

    通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
    DNS查询两种方式:递归查询/迭代查询
    [https://blog.csdn.net/wlk2064819994/article/details/79756669]

    相关文章

      网友评论

          本文标题:从输入URL到页面展示的详细过程

          本文链接:https://www.haomeiwen.com/subject/dehmoqtx.html