教育改变生活

标题: 在浏览器中输入网址到页面的出现,中间发生了什么? [打印本页]

作者: 李玮    时间: 2021-1-6 15:41
标题: 在浏览器中输入网址到页面的出现,中间发生了什么?
相信这种问题频繁地出现在许多面试中,我不知道面试官期望通过这个问题考察到什么,可能他们期望的答案正如你在网上能搜到的一般,大致输入网址后发生了:
<span]
        所以我真的很想呼吁面试的时候别再问这道题了,上面写的只不过是看似标准的“标准答案”罢了。
就从DNS解析开始说吧,谁说了浏览器一定要进行DNS解析的?“标准答案”没有考虑到如果浏览器使用代理的情况,如果浏览器使用代理服务器,那么DNS解析的任务是由代理服务器完成的。使用代理服务器和不使用代理服务器是有很大差别的,用了代理后如果是HTTPS请求,那么浏览器会先发一个HTTP CONNECT明文请求给代理,由代理创建TLS隧道后,然后再盲发浏览器和服务器之间的数据,光是这个技术细节都有一大篇RFC标准可以读。
        第三第四步服务器接受请求进行处理然后返回就有更多可以展开的,涉及到很多后端的架构体系,请求的资源是动态还是静态的,是不是有load balance,怎么route你这个请求,后端怎么样的缓存策略等等。
        再后面浏览器处理响应渲染页面,要多复杂有多复杂。浏览器发展至今也就那么屈指可数的几个渲染引擎。即便如微软在已有trident引擎基础上倾入全力来开发edgehtml,也抵不住最后转向chromium的现实。








欢迎光临 教育改变生活 (http://bbs.goldoar.com/) Powered by Discuz! X3.2