从浏览器输入网址(URL),到最终展示页面,都发生了什么?

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 从浏览器输入网址(URL),到最终展示页面,都发生了什么?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

前言

一、进行DNS域名解析

二、进行封装

三、进行传输

四、数据到达目标服务器,根据请求计算响应,重新封装,发送给客户端浏览器

五、客户端针对数据进行解析,分用

六、浏览器根据请求到的资源和数据进行渲染页面,最终向用户呈现一个完整的页面

七、结束


前言

从(如下图)

从浏览器输入网址(URL),到最终展示页面,都发生了什么?

到你按下回车,再到最后出现这个网页界面(如下图)

从浏览器输入网址(URL),到最终展示页面,都发生了什么?

中间到底发生了什么? 

接下来就带你一步步进行解析~


一、进行DNS域名解析

        DNS由解析器和域名服务器组成的, 他就是用来将域名转化成IP地址的;

        进一步解释:咱们在网上上网通常输入的都是一段网址,这其实就是域名(IP地址不好记,域名的出现只是为了方便大家记忆的IP地址的另一种形式),而网络上的设备都是通过IP地址作为身份标识的,并且通过IP地址相互识别,所以这时候就需要通过DNS系统来将域名转化成IP地址,找到我们需要的信息;

二、进行封装

        浏览器获得了域名对应的IP地址后,就可以构造出HTTP数据报,将其交给传输层,TCP就根据刚才的IP地址,建立连接——三次握手,然后在发送刚构造好的HTTP请求;接着数据交给了网络层,IP协议将其封装成立IP数据报,然后交给数据链路层,封装成对应的数据帧,最终通过网卡传输出去;

三、进行传输

传输的过程中,经过一些交换机和路由器;

  • 交换机把数据分用到数据链路层(更上层就不解析了),再重新封装,继续转发
  • 路由器会把数据分用到网络层(更上层就不解析了),重新封装,接着路由器会根据数据报中的目的IP在路由表中匹配,找个合适的方向发出去,每次转发TTL都会减1;(TTL是一个IP协议的值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。)

四、数据到达目标服务器,根据请求计算响应,重新封装,发送给客户端浏览器

        服务器通过监听端口来获取客户端的HTTP请求,与客户端建立TCP连接后,服务器开始接受客户端发来的数据,通过HTTP解码,从接收到的数据中进行解析,找到你想要访问的那个资源,将资源构造成HTTP响应,最后发送给发送给客户端浏览器;

        这样一个HTTP通信就完成了,服务器会根据HTTP请求中的Connection字段,决定是否关闭TCP连接通道,Connection字段值为keep-alive时,服务器不会立刻关闭连接,保证通信的完成;

五、客户端针对数据进行解析,分用

关于解析分用的过程,博主整理出了一篇博客可以看看:

http://t.csdn.cn/bwS88

六、浏览器根据请求到的资源和数据进行渲染页面,最终向用户呈现一个完整的页面

        浏览器接收到响应内容之后,浏览器会解析HTML文件生成主页框架,同时遇到js等静态资源的引用,会向服务器继续发送请求,请求的内容就是主页里的一些资源,例如图片、视频…

        最后浏览器向服务器发送异步请求,因为一些页面显示完成后仍需要客户端与服务器保持联系;

七、结束

        整个过程结束,最后通过四次挥手,关闭连接;

注意:输入的URL没有到指定的网址,可能是因为DNS无法解析,网络断开,后台接口出问题,服务器负载过大等问题;


从浏览器输入网址(URL),到最终展示页面,都发生了什么?        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/130422.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!