当用户在搜索栏中输入url检索,大概有以下几个步骤吧。
1.
第一步搜索无果后执行第二步,有锅就是成功拿到ip地址进行第五步的握手,
第二步没检索到同理进行第三步window->systems32->drivers->etc->hosts(应该没错吧。。)
...
第四步是肯定能拿到的
其中第四步的过程:
上上图的第四步已经发起了一个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地址返回给浏览器。浏览器就进行第五步
这个第八步吓死我了,每一个小东西都要发一次请求,要是次次都没dns缓存,比如首次加载,好吓人,短短的几秒时间干了这么多事,心疼..前端好遥远。。。。。