首页 > 原创文章 > 点击链接后,发生了什么?
2019
01-26

点击链接后,发生了什么?

千淘万漉博客阿里云大使推广链接

 

    当今社会,几乎每个人每天做的最多的一件事情就是点击互联网上的超链接,我们不得不感叹超链接技术真的是一项对人类生活方式影响最大的发明。可是有多少人想过点击超链接之后我们是怎么看到不知在何处的内容的么?

点击链接后,发生了什么?

点击超链接

点击超链接是一个非常简单的动作,一般来说点击过后有两个大的过程:一是将请求的数据发送到服务器,二是服务器将需要呈现的数据返回到当前的浏览器上。

发送请求数据。当我们点击超链接后浏览器就会把对应的超链接地址封装成为一个网络应用层的http数据包,然后这个应用层的数据包会被我们的操作系统打包成为包含对应链接所在的IP地址的网络层的数据包,接着我们就到了我们计算机或者是智能手机上的网卡了。网卡将已经封装好的网络层数据包加上一些便于检查传输错误的校验数据成为数据链路层的数据,变成网络线缆上的电脉冲数据发送出去。如果经过交换机则交换机不做处理而将数据发送给最近的路由器(网关),路由器解码电脉冲还原链路层数据包,然后根据链路层数据包的IP地址在自己的路由表中找到对应下一个应该发送到的下一个网络的路由器(网关),依次如此直到将我们的数据送到距离提供能容的服务器最近的路由器,服务器所在网络的路由器(网关)会解析传送来包含请求指令的链路层数据包,发送给对应的服务器。服务器的网卡接收数据后会逐层拆解数据包,最后应用服务器软件会获得请求的数据指令,执行该指令后。

返回服务器数据。应用服务器在执行请求指令后会将对应的数据库或服务器中的数据进行封装成类似上面过程中的链路层数据包发送给自身所在网络的路由器(网关),再经过和上述过程一样的路径后(一样的通信机制),不一定是同样的网络路径返回到请求的设备端。请求的设备网卡接收到数据后会发送给本机操作系统处理并调用浏览器解析数据包,按照特定的版式展现出来,此时网页跳转完成,我们就看到了相应的内容。

点击链接后,发生了什么?

互联网络

如果你请求的网页数据在服务端被删除了,则会返回404的错误,如果你的数据包在网络中经过了很多跳转(一般是64跳,与操作系统有关系,标识为TTL值)还没有到达目标服务器,那么这个数据包会被丢弃,服务器同样也无法返回正确的网页内容。所以你看虽然只是一个小小的点击超链接的动作,但是这个过程的背后却有这么的设备在为你服务,而且还是如此的高效。那么当你在遇到网页反应慢的情况,请想一想这背后的复杂过程,或许心情就不会那么坏了,想清楚了说不定还能帮你解决一些遇到的小问题噢。顺便说一下有的服务器很辛苦的,如果服务器上的内容很受欢迎,那么服务器一秒钟需要提供服务的请求次数是成千上万呢。

行文仓促,文中若有错误之处,请同行斧正,不胜感激。全手工敲字,如需转载请注明出处。

本文》有 0 条评论

留下一个回复