码迷,mamicode.com
首页 > Web开发 > 详细

笔试常考--浏览器输入一个URL点击回车之后发生了什么

时间:2018-03-27 21:05:36      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:style   客户端   直接   ack   .com   输入   页面   strong   服务器的响应   

  1. 解析URL:浏览器首先对拿到的URL进行识别,抽取出域名字段。
  2. DNS解析

    查询浏览器缓存(浏览器会缓存之前拿到的DNS 2-30分钟时间),如果没有找到,

    检查系统缓存,检查hosts文件,这个文件保存了一些以前访问过的网站的域名和IP的数据。它就像是一个本地的数据库。如果找到就可以直接获取目标主机的IP地址了。没有找到的话,需要

    检查路由器缓存,路由器有自己的DNS缓存,可能就包括了这在查询的内容;如果没有,要

    查询ISP DNS 缓存:ISP服务商DNS缓存(本地服务器缓存)那里可能有相关的内容,如果还不行的话,需要,

    递归查询:从根域名服务器到顶级域名服务器再到极限域名服务器依次搜索哦对应目标域名的IP。

  3. 浏览器与网站之间建立TCP链接(三次握手):

    第一次握手:客户端向服务器端发送请求(SYN=1) 等待服务器确认;

    第二次握手:服务器收到请求并确认,回复一个指令(SYN=1,ACK=1);

    第三次握手:客户端收到服务器的回复指令并返回确认(ACK=1)。技术分享图片

    通过三次握手,建立了客户端和服务器之间的连接,现在可以请求和传输数据了。

  4. 请求和传输数据

           通过GET请求和服务器的响应,可以将服务器上的目标文件传输到浏览器进行渲染。

         5. 浏览器渲染页面

           

            客户端拿到服务器端传输来的文件,找到HTML和MIME文件,通过MIME文件,浏览器知道要用页面渲染引擎来处理HTML文件。

 

            a.浏览器会解析html源码,然后创建一个 DOM树。

 

            在DOM树中,每一个HTML标签都有一个对应的节点,并且每一个文本也都会有一个对应的文本节点。

 

            b.浏览器解析CSS代码,计算出最终的样式数据,形成css对象模型CSSOM。

 

            首先会忽略非法的CSS代码,之后按照浏览器默认设置——用户设置——外链样式——内联样式——HTML中的style样式顺序进行渲染。

 

            c.利用DOM和CSSOM构建一个渲染树(rendering tree)。
            渲染树和DOM树有点像,但是是有区别的。

 

            DOM树完全和html标签一一对应,但是渲染树会忽略掉不需要渲染的元素,比如head、display:none的元素等。

 

            而且一大段文本中的每一个行在渲染树中都是独立的一个节点。
            渲染树中的每一个节点都存储有对应的css属性。

 

            d.浏览器就根据渲染树直接把页面绘制到屏幕上。

 

笔试常考--浏览器输入一个URL点击回车之后发生了什么

标签:style   客户端   直接   ack   .com   输入   页面   strong   服务器的响应   

原文地址:https://www.cnblogs.com/dayangge/p/8659133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!