通过浏览器访问某一个网站的完整过程?

本文详细介绍了从输入网址到页面完全加载的过程,包括DNS解析、TCP三次握手、HTTPS加密过程及TCP连接管理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        当我们在浏览器地址上输入一个网址时,浏览器会进行(HTTP)HTTPS的的请求时,基本根据以下步骤。

        1.通过DNS解析域名获取服务器IP。

首先,浏览器会根据当前网址域名去DNS服务器上进行解析请求,然后DNS服务器会请求到当前域名所对应的服务器IP地址,并将此IP地址返回给浏览器,浏览器再通过返回的IP地址访问当前服务器。

        2.通过三次握手与服务器建立连接。

此时,在应用层是HTTP(HTTPS)协议,当进行到传输层时,服务器会通过TCP协议进行三次握手,首先客户端发送一个连接数据包给服务器(SYN = 1),接着服务器会响应一个数据包给客户端,代表允许建立连接,然后客户端再发送一个数据包给客户端代表此时连接建立成功,

        3.如果为HTTPS请求,则需要通过SSL证书加密。

如果是HTTPS协议,服务器首先会发送一个SSL证书给浏览器,浏览器检查当前证书是否过期以及证书是否安全,如果安全,则产生一个随机密钥通过SSL证书的公钥进行加密,将密钥发送给服务器端,服务器端根据自己的私钥对发送过来的密钥进行解密,

        4.进行传输内容。

得到随机密钥后,通过随机密钥对要传输的内容加密,然后发送给服务器端,

        5.TCP连接是否为长连接?

TCP连接在这个过程中,还是基于TCP协议进行报文的发送与接收。如果说浏览器的connection = Keep-alive,代表本次TCP连接是一个长连接,不会主动释放连接,当传输内容完毕后,需要主动释放连接,

        6.通过四次挥手释放连接

此时需要客户端发送挥手报文(FIN = 1),服务器接收到后会发送一个确认报文,如果有未发送完的数据,接着发送数据,如果数据发送完毕,此时服务器会再发送一个数据包(FIN = 1,ACK = 1)给浏览器,浏览器再发送一个确认数据包给服务器,四次握手结束,这就是一个完整的访问网页的过程。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值