问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用户从输入url到最终页面展示,这个过程中发生了什么

发布网友 发布时间:2022-04-21 06:29

我来回答

2个回答

懂视网 时间:2022-04-21 10:50

这个问题是老生常谈的问题啦,虽然说到处百度都有的答案,还是希望自己能总结一下。

如今有很多答案,都是从硬件开始讲起,比如键盘的响应或者触屏的响应,然后CPU处理到OS的内核等等。这里不作为重点来讲,要是有兴趣的同学给你一个传送门:FEX--从输入 URL 到页面加载完成的过程中都发生了什么事情?

解析url

首先很多浏览器会做预处理,特别是Chrome。预处理也就是,通过分析您将要访问的url,提前建立TCP链接或者渲染。而给用户的体验,就是输入完Url后页面瞬间加载完成,怪不得Chrome会给人一种飞快的体验。

但并不是所有输入在浏览器的字符串都是有效的url,比如我们有时候就喜欢在地址框中直接输入汉字借此来调用浏览器的默认搜索引擎。所以,按回车后会对url进行有效验证。若符合http协议的就会按照Web来处理。

一旦我们输入完成后,浏览器会检查缓存,并对请求信息做相应的变化。

HTTP请求

  1. 如果地址是通过域名访问的,那么它将会先通过DNS来将地址解析成IP地址。当然DNS也有缓存,浏览器缓存,OS的缓存,路由器的缓存,ISP的缓存,若没有找到,就会通过递归,不断向上级的DNS服务器寻找,直到成功或失败。
  2. 若地址不含端口号,则根据协议默认补充端口号。例如http协议的是80端口,而https的是443端口。
  3. 建立TCP连接,并发送HTTP请求。截取一下我访问知乎的请求吧。

    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Encoding:gzip, deflate, sdchAccept-Language:zh-CN,zh;q=0.8,en;q=0.6Cache-Control:no-cacheConnection:keep-aliveCookie:[key=value...]; Host:www.zhihu.comPragma:no-cacheUser-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36
  4. 服务器接受到请求后,会解析请求信息,包括各种资源的访问,是否有缓存,请求的方式等等。它经过分析,配合数据库等处理之后,便会返回response,里面包含了你要访问的资源文件,包括html,css,js,img等等。

浏览器解析

在结束了比较底层的计算机网络的东西后(物理层和数据链路层基本没讲好吗?!),我们应用层的浏览器便开始大作为了。

首先浏览器会解析HTML,CSS,JS这些东西,并进行DOM树和样式的渲染,并通过Js来实现交互或动画效果。

然后,你就可以得到一个精美的或富应用的Web。

写在最后

其实,写的过程经过相关的查阅,这里写的也不尽完美。因为底层实在做了太多复杂的事,让我也不知道该如何写才不会误导他人。只能选其中具有代表性并熟悉的东西来写。但是心里的感概确是万分的,计算机网络是一项非常复杂的工程,无论层次结构还是其中的各种协议,都是经过一代又一代人的深思熟虑并沉淀下来的。

在我们看来,我们仅仅是输入了一段英文,而在其背后则是规模庞大,结构复杂的浏览器,浏览器内核,操作系统,计算机网络等等一系列的紧密配合的东西。我们能拥有这么愉悦丰富的互联网生活,离不开每一代工程师的努力,致敬。

热心网友 时间:2022-04-21 07:58

具体过程DNS解析DNS解析的过程就是寻找哪台机器上有你需要资源的过程。当你在浏览器中输入一个地址时,例如,其实不是百度网站真正意义上的地址。互联网上每一台计算机的唯一标识是它的IP地址,但是IP地址并不方便记忆。用户更喜欢用方便记忆的网址去寻找互联网上的其它计算机,也就是上面提到的百度的网址。所以互联网设计者需要在用户的方便性与可用性方面做一个权衡,这个权衡就是一个网址到IP地址的转换,这个过程就是DNS解析。它实际上充当了一个翻译的角色,实现了网址到IP地址的转换。网址到IP地址转换的过程是如何进行的?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
赵玉平名家论坛 赵玉平人物经历 杭州市汽车西站 现在能提前几天售票啊? 请问杭州西站汽车票可以提前几天买? 杭州汽车西站在节假日的时候需要提前买票的吗 散步有助于减肥吗 魑瑟忝箜莫尘读什么 端午送什么 端午节家里要摆放什么东西 龙舟是如何制作的? 360浏览器熙标签页怎么把搜索引擎默认百度? 一吨汽油交多少消费税 柴油进口需交哪些税 中国凯达贸易公司用自备外汇从沙特阿拉伯进口散装轻柴油10000 吨,进口关税最惠国税率是 6%,增_百度问一问 小度 天猫 小米带屏幕音箱哪款学生学习课堂多? 买二手房多久内可以取公积金? 购买二手房,公积金能提取的额度是多少比例? 当打开浏览器,从在地址栏里输入一个URL开始,到出现整个页面,网络上都发生了什么事 君子坦荡荡,小人长戚戚的道理 君子坦荡荡,小人长戚戚!求对这句话的赏析!200字左右! 君子坦荡荡,小人长戚戚,求对这句话的赏析,200字左右 请你就君子坦荡荡,小人长戚戚这句话,结合自己的人生经验,谈谈感想 君子坦荡荡,小人常戚戚说明什么道理,举实 君子坦荡荡小人长戚戚的感想和认识300字左右 “君子坦荡荡,小人长戚戚。”在新时代,孔子的这句话给我们的启示是什么? 关于“君子坦荡荡,小人长戚戚”的感想,不少于300字。 王者名字,是不是一个英文单词代表一个字? 机械表突然不走了,怎么回事?摇一下又可以,这样情况怎么处理? 我的大腿经常青一块,紫一块,也不疼,也没感觉碰到,是怎么回事啊? 腿上紫了一小块,不知道怎么回事!不疼不痒? 为什么吃饭的时候会咬到舌头?拜托各位大神 ...咬到舌头或者嘴唇。要么就是腮帮,这到底怎么回事啊? 吃饭咬到舌头是自己不小心吗 为什么四十岁的男人,越来越花心? 40岁的男人为什么容易出轨 梦见放走像小龙一样的带鱼一直要跟着我,有紧迫感,不想被它跟? 梦到像龙一样的大鱼,有长长的须,红色和*的鳞.而且长得很凶. 请问这是什么寓意~求高手. 梦见抓鱼一个小池里全是大鱼还有龙一样的周公解梦 梦见河里一群好大的鱼跟龙一样长? 2021国家公务员考试的命题趋势是什么? 大年初一故宫迎首批游客? 故宫门票多少钱一位? 请问北京故宫周一闭馆吗? ...垃圾还堆在一起,、,还没处理就醒了什么意思? 调动员工积极性的有效方法 兰州理工大学机械设计及其自动化专业好吗?交大好or工大好 那兰州理工大学一本的机械设计及其自动化专业咋样 兰州理工大学 机械设计及其自动化怎么样 小孩安静时喉咙里发出打呼噜一样的声音,是怎么回事? 兰州理工大学技术工程学院的联系电话号码谁知道