欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 计算机网络——键入网址到网页显示,期间发生了什么?

计算机网络——键入网址到网页显示,期间发生了什么?

2025/5/4 9:39:31 来源:https://blog.csdn.net/S_ZaiJiangHu/article/details/147622307  浏览:    关键词:计算机网络——键入网址到网页显示,期间发生了什么?
  • 浏览器做的第一步工作是解析 URL,分清协议是http还是https,主机名,路径名,然后生成http消息,之后委托操作系统将消息发送给 Web 服务器。
  • 在发送之前,还需要先去查询dns,首先是查询缓存浏览器缓存、电脑缓存、路由器缓存、运营商缓存、请求dns服务器的缓存;然后udp协议查询本地dns服务器,本地dns服务器没有再去迭代查询顶级-次级等一系列服务器,最终返回给电脑,并缓存。
  • 知道了地址,下一步就是把 HTTP 的传输工作交给操作系统中的协议栈,协议栈的内部分为几个部分,分别承担不同的工作。上下关系是有一定的规则的,上面的部分会向下面的部分委托工作,下面的部分收到委托的工作并执行。
    在这里插入图片描述
  • 接下来 数据包去找tcp协议栈打包成tcp数据包 源端口一般是浏览器监听的端口(通常是随机生成的),而目的端口如果http一般80 https一般443
  • 然后 tcp先通过三次握手的方式 经由ip协议、数据链路等建立连接
  • 之后数据包下一步 打包成ip格式报文 添加ip报文头
  • 由网卡发出,通过路由表,确定下一跳的位置(一般是路由器)
  • 然后通过arp协议,由ip地址找到路由器的mac地址,添加mac头部等,转化为电信号发送给路由器的交换机模块
  • 交换机接收到数据包后,根据mac表,确定发到哪个端口,由于我们是向外,所以是发到路由器模块
  • 经历路由器等等一系列路由器 经过网线传输,可能还要经历NAT流程,最终达到目标地址和端口
  • 对方洋葱皮解码,然后服务器做出响应,将对于的html文本发回给浏览器
  • 释放tcp连接(不一定)
  • 浏览器将该 html 文本并显示内容;

https版本需要增加

用户在浏览器里输入一个https网址,然后连接到server的443端口。
服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过。这套证书其实就是一对公钥和私钥。
服务器将自己的数字证书(含有公钥)发送给客户端。
客户端收到服务器端的数字证书之后,会对其进行检查,如果不通过,则弹出警告框。如果证书没问题,则生成一个密钥(对称加密),用证书的公钥对它加密。
客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端密钥发送给服务器。
服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后得到客户端密钥,然后用客户端密钥对返回数据进行对称加密,这样数据就变成了密文。
服务器将加密后的密文返回给客户端。
客户端收到服务器发返回的密文,用自己的密钥(客户端密钥)对其进行对称解密,得到服务器返回的数据。

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词