网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1440|回复: 0
打印 上一主题 下一主题

[计算机网络] 在浏览器中输入网址到页面的出现,中间发生了什么?

[复制链接]

271

主题

284

帖子

1243

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1243

最佳新人活跃会员热心会员突出贡献优秀版主

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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-11-13 14:28 , Processed in 0.034831 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表