计算机基础知识记录(偏前端)

一、网络知识

  1、内网:在内网部署的应用,默认只能用内网地址在同一个局域网内互连互通访问,在外网其他网络环境下是访问不到的。
  2、穿透:二点直连方式,如二台电脑网线直通,穿透是不限速的,速度是二端间的较小速度端的速度。
  3、映射:一个地址映射到另一个地址,通过某个介质进行中转,常常用于将内网地址映射到外网地址实现外网的访问,速度是本地公网上行和映射服务端分配的较小值速度。

 

二、一次完整的http请求所经历的7个步骤

  1、建立TCP连接

  2、Web浏览器向Web服务器发送请求命令

  3、Web浏览器发送请求头信息

  4、Web服务器应答

  5、Web服务器发送应答头信息

  6、Web服务器向浏览器发送数据

  7、Web服务器关闭TCP连接

 

 

三、从浏览器输入url到页面呈现经历了哪些过程

  1、DNS解析:

    浏览器获取域名,

    检查浏览器缓存中是否有该域名的解析,

    检查电脑的本地缓存中是否有该解析,

    检查host文件中是否有该解析,

    向域名解析商发起请求获取解析,并缓存起来

    以上步骤只要检查到有相应的DNS解析,就能获取到服务器的ip地址

  2、根据TCP/IP协议,浏览器和服务器发起三次握手

  3、TCP/IP连接完成后,浏览器发起http请求

  4、服务器接收到请求,返回相应的资源(数据或者html文件)

  5、解析html,加载相应的静态资源文件(js、css、图片等)

  6、浏览器根据自身的机制,生成html DOM树、css DOM树,进行相应的计算和渲染,最终生成页面呈现出来

 

四、渲染过程(webkit和gecko都差不多)

  1、解析HTML,得到一个DOM tree

  2、解析CSS,得到CSSOM tree

  3、将两者整合成渲染数,render tree

  4、布局(layout), 根据Render Tree计算每个节点的位置大小等信息 (在草稿本上画了个草图)

  5、绘制(Painting )根据计算好的信息绘制整个页面

  注: 1、2、3非常快,但是4和5比较耗时,有三个术语:

      “重排” 和 “回流” 指的是重新执行步骤4

      “重绘” 指重新执行步骤5

    重排意味着重新计算节点的位置大小等信息,重新在草稿本上画了草图,所以一定会重绘

    重绘不一定会重排,比如背景颜色改变

    重排和重绘代价很高,所以浏览器并不会一有信息改变就去执行重排和重绘,而是会将多个可能的重排和重绘一次执行。是的,它可能会异步。

    有两个css属性,display: none和visibility: hidden,前者会导致重排和重绘,后者会导致重绘。这是后者的有点,但缺点是此节点一直保存在内存中,占用资源。

 
posted @ 2019-05-26 15:59  狮子爱吃草  阅读(265)  评论(0编辑  收藏  举报