百度怎样继续访问?

有些找过工作面试的朋友(特别是爬虫的岗位)应该常常被问到,你知道你在浏览器输入百度的网址之后,背后做了什么操作吗?其实这主要是想看看你对计算机网络协议的了解,今天小帅b就跟你浅谈一下这个问题,在此之前,我们先来了解一下什么是 URL 。

你真的理解URL是什么?

我们经常使用浏览器上网,在想要查询某些网站的时候,我们都会在浏览器的地址栏中输入一段字符串,也就是我们常说的「网址」,其实我们说的这个「网址」,指的就是URL,URL的全称是Uniform Resource Location, 叫做 「统一资源定位」。

比如我们想要访问 Google,应该会在浏览器的地址栏中输入:

这时候我们可以看到 URL 中两个比较重要的部分,一个是协议,一个是资源名称,它们被 「://」分隔开,左边的 http 就是协议,右边的 就是资源名称。

我们这里用到的协议是 HTTP 协议,他的全称叫做超文本传输协议,网络上的请求协议有许多,例如我们比较熟悉的其它协议有 ftp 协议,https 协议等等。

因为没有规矩,不成方圆,我们在传输数据的时候,需要通过相应的规则才能获取相应的资源,比如你在家里,突然饿了,想要点外卖,那么你需要找到你想吃的,然后付钱,商家才给你做,外卖小哥哥才笑嘻嘻的给你送,如果你不遵循这一规则,你不给钱,你能吃到吗?外卖小哥会笑嘻嘻给你送吗?除非很帅。

所以我们这里使用的 HTTP 协议,可以给我们提供超文本文档。

资源名称是一个完整的地址,它的格式是完全取决于协议而定,不过在大多数的协议里面,资源名称都包括:

好了,接下来就说说你在浏览器输入

这个域名对应的IP地址:

DNS的查找过程是这样的:

Chrome浏览器会先查找有没有缓存的 DNS 记录,如果在浏览器缓存没有找到需要的记录,就会去做一个系统的调用,获取系统缓存的记录;

如果没有记录请求会继续到路由器上,路由器上有自己的 DNS 缓存;

如果没有记录就会到 ISP 的 DNS 缓存中查看记录;

如果没有记录就会在 ISP 的 DNS 服务器从根服务器域名服务器开始递归搜索最后得到 IP 地址。

才是 baidu 希望访问的地址,那么这时候 Chrome 浏览器就会给 baidu 服务器发送另一个请求。

Response Headers 说明了是否缓存这个页面,怎么去解释响应信息,cookie 的设置,隐私信息等。

这时候 Chrome 浏览器获得了响应内容,就开始显示 baidu 的HTML页面了,浏览器在显示的时候,发现需要获取其他的标签内容,比如图片、css 样式表、Java 文件,那么浏览器就会继续对 baidu 服务器去发送请求这些内容,这些静态的文件baidu 会把它进行缓存,利用内容分发网络(CDN)进行分发,所以这些静态文件在很多 CDN 数据中心都有备份,所以浏览器很快就能获取到这些静态文件。

从而进行页面吧的完整的显示:

当然,这只是浅谈一下,让你有一个清晰的了解,如果你对网络方面感兴趣的话,可以去了解一下计算机网络的组成,什么是报文,什么是分组交换,如何握手以及各层之间的关系,比如物理层,数据链路层,运输层等。

我要回帖

更多关于 百度怎么设置打开上次未关闭 的文章

 

随机推荐