作家
登录

老生常谈-从输入url到页面展示到底发生了什么

作者: 来源: 2017-04-11 16:06:01 阅读 我要评论

阅能干次

  • 输入地址
  • 浏览器查找域名的 IP 地址
  • 浏览器向 web 办事器发送一个 HTTP 请求
  • 办事器的永远重定向响应
  • 浏览器跟踪重定向地址
  • 办事器处理请求
  • 办事器返回一个 HTTP 响应
  • 浏览器显示 HTML
  • 浏览器发送请求获取嵌入在 HTML 中的资本(如图片、音频、视频、CSS、JS等等)

刚开端写这篇文┞仿照样挺纠结的,因为网上搜刮“大年夜输入url到页面展示到底产生了什么”,你可以搜到一大年夜堆的材料。并且面试这道题根本是必考题,二月份面试的时刻,固然知道这个过程产生了什么,不过当面试官一步步追问下去的,很多细节就不太清跋扈了。

| 请求头(Request Header)

总的过程大年夜概如下:

1、输入地址

当我们开端在浏览器中输入网址的时刻,浏览器其实就已经在智能的匹配可能得 url 了,他会大年夜汗青记录,书签等处所,找到已经输入的字符串可能对应的 url,然后给出智能提示,让你可以补全url地址。对于 google的chrome 的浏览器,他甚至会直接大年夜缓存中把网页展示出来,就是说,你还没有按下 enter,页面就出来了。

2、浏览器查找域名的 IP 地址

1)、请求一旦提议,浏览器起重要做的工作就是解析这个域名,一般来说,浏览器会起首查看本地硬盘的 hosts 文件,看看个中有没有和这个域名对应的规矩,如不雅有的话就直接应用 hosts 文件琅绫擎的 ip 地址。

2)、如不雅在本地的 hosts 文件没有可以或许找到对应的 ip 地址,浏览器会发出一个 DNS请求到本地DNS办事器 。本地DNS办事器一般都是你的收集接入办事器商供给,比如中国电信,中国移动。

当文档加载过程中碰到js文件,html文档会挂起衬着(加载解析衬着同步)的线程,不仅要等待文档中js文件加载完毕,还要等待解析履行完毕,才可以恢复html文档的衬着线程。因为JS有可能会修改DOM,最为经典的document.write,这意味着,在JS履行完成前,后续所有资本的下载可能是没有须要的,这是js壅塞后续资本下载的根来源基本因。所以我明日常平凡的代铝闼楝js是放在html文档末尾的。

3)、萌芽你输入的网址的DNS请求达到本地DNS办事器之后,本地DNS办事器会起首萌芽它的缓存记录,如不雅缓存中有此笔记录,就可以直接返回结不雅,此过程是递归的方法进行萌芽。如不雅没有,本地DNS办事器还要向DNS根办事器进行萌芽。

4)、根DNS办事器没有记录具体的域名和IP地址的对应关系,而是告诉本地DNS办事器,你可以到域办事器上去持续萌芽,并给出域办事器的地址。这种过程是迭代的过程。

5)、本地DNS办事器持续向域办事器发出请求,在这个例子中,请求的对象是.com域办事器。.com域办事器收到请求之后,也不会直接返回域名和IP地址的对应关系,而是告诉本地DNS办事器,你的域名的解析办事器的地址。

6)、最后,本地DNS办事器向域名的解析办事器发出请求,这时就能收到一个域名和IP地址对应关系,本地DNS办事器不仅要把IP地址返回给用户电脑,还要把这个对应关系保存在缓存中,以备下次其余用户萌芽时,可以直接返回结不雅,加快收集拜访。

《计算机收集》第四版中讲“三次握手”的目标是“为了防止已掉效的连接请求报文段忽然又传送到了办事端,因而产生缺点”

常识扩大:

1).什么是DNS?

通俗的讲,我们更习惯于记住一个网站的名字,比如www.baidu.com,而不是记住它的ip地址,比如:167.23.10.2。而计算机更善于记住网站的ip地址,而不是像www.baidu.com等链接。因为,DNS就相当于一个德律风本,比如你要找www.baidu.com这个域名,那我翻一翻我的德律风本,我就知道,哦,它的德律风(ip)是167.23.10.2。

2).DNS萌芽的两种方法:递归萌芽和迭代萌芽

a、递归解析

当局部DNS办事器本身不克不及答复客户机的DNS萌芽时,它就须要向其他DNS办事器进行萌芽。此时有两种方法,如图所示的是递归方法。局部DNS办事器本身负责向其他DNS办事器进行萌芽,一般是先向该域名的根域办事器萌芽,再由根域名办事器一级级向下萌芽。最后获得的萌芽结不雅返回给局部DNS办事器,再由局部DNS办事器返回给客户端。  

b、迭代解析

当局部DNS办事器本身不克不及答复客户机的DNS萌芽时,也可以经由过程迭代萌芽的方法进行解析,如图所示。局部DNS办事器不是本身向其他DNS办事器进行萌芽,而是把能解析该域名的其他DNS办事器的IP地址返回给客户端DNS法度榜样,客户端DNS法度榜样再持续向这些DNS办事器进行萌芽,直到获得萌芽结不雅为止。也就是说,迭代解析只是帮你找到相干的办事器罢了,而不会帮你去查。比如说:baidu.com的办事器ip地址在192.168.4.5这里,你本身去查吧,本人比脚绫铅,只能帮你到这里了。  

3).DNS域名称空间的组织方法

我们在前面有说到根DNS办事器,域DNS办事器,这些都是DNS域名称空间的组织方法。按其功能定名空间顶用来描述 DNS 域名称的五个类其余介绍详见下表中,以及与每个名称类型的示例

 1/5    1 2 3 4 5 下一页 尾页

  推荐阅读

  5个开源RSS订阅阅读器

但简便并不料味着缺乏功能。其响应式设计在任何设备上看起来都很好,并可以应用主题、API 接口、多说话、固定书签等等。 你日常平凡应用 RSS 浏览器么?四年前当 Google Reader 宣布停止的时>>>详细阅读


本文标题:老生常谈-从输入url到页面展示到底发生了什么

地址:http://www.17bianji.com/lsqh/34725.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)