从输入url到浏览器展示页面的过程(经典前端面试题)

输入url,首先会进行

dns查询

解析域名获取ip地址

优化策略:使用dnf-prefech属性,进行dns预查询

tcp连接

浏览器发送tcp连接的申请的报文,会携带SYN标志位,seq序号,SYN标志位设为1就说明这是一个申请连接的报文,之后服务器回复ACK标志位,ack序号=seq+1,这样浏览器就可以通过检验ack序号的值判断连接是否成功,ACK标志位为1说明这就是一个确认报文,之后服务器发送申请连接的报文,按理说应该是浏览器向服务器端申请连接,服务器回复确认,然后服务器向浏览器申请连接,浏览器回复确认,应该是四次握手,但是,服务器回复确认和申请连接使用的标志位不冲突,所以服务器可以在确认的同时申请连接,就是报文里SYN和ACK的标志位都设为1,所以就变成了三次握手

四次挥手无非是把SYN改成了FIN,原理是一样的

优化策略:无

ssl握手

浏览器发送一个随机数,浏览器支持的加密方式,

服务器选择一种加密方式,然后发送一个公钥和一个随机数

浏览器随机数然后通过公钥加密,然后发送给服务器,

服务器通过私钥解密获得随机数

这样浏览器,服务器同时有了三个随机数,之后用这三个随机数生成一个公钥,使用对称加密传输数据

ssl协商的过程采用的是非对称加密,传输过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值