当用户在搜索栏中输入url检索,大概有以下几个步骤吧。

1.

http请求


http请求

第一步搜索无果后执行第二步,有锅就是成功拿到ip地址进行第五步的握手,

第二步没检索到同理进行第三步window->systems32->drivers->etc->hosts(应该没错吧。。)

...

第四步是肯定能拿到的

其中第四步的过程:

http请求

上上图的第四步已经发起了一个dns系统调用,这个是发到宽带运营商服务器的,此时宽带运营商服务器

就会查看自己是否有缓存,没有的话就发起一个迭代的dns解析请求。以www.imooc.com为例:

首先“询问”根域,“你知不知道www.imooc.com的ip地址啊?”,根域回:“我哪里知道,我只知道com域”

再“询问”com域,“你知不知道www.imooc.com的ip地址啊?”,com域回:“我哪里知道,我只知道imooc.com域”

再“询问”imooc.com域,“你知不知道www.imooc.com的ip地址啊?”,imooc.com域回:“对的对的,给你ip地址”

(这里的imooc.com域是万网这种级别的东西提供的)

此时运营商服务器把请求到的ip地址返回给操作系统缓存起来(不知道缓存多久),操作系统内核把这个ip地址返回给浏览器。浏览器就进行第五步

http请求

http请求

http请求

http请求


这个第八步吓死我了,每一个小东西都要发一次请求,要是次次都没dns缓存,比如首次加载,好吓人,短短的几秒时间干了这么多事,心疼..前端好遥远。。。。。


相关文章: