浅谈输入URL之后发生了什么

        DNS

        DNS的作用就是通过域名查询到具体的IP。因为IP地址不利于人们记忆就出现了域名。通过DNS查询可以找到域名对应的IP地址。找到IP地址之后就会请求连接,参考TCP三次握手。

        举个经典的例子,当你想在浏览器中访问www.google.com,会有以下的过程:

        以下DNS迭代查询,由客户端做请求

        1、首先在本地缓存中查询IP(先看自己有没有)

        2、没有的话就去系统配置的DNS服务器中查询(自己没有找帮手)

        3、如果还是没有,就直接去DNS根服务器查询,此次查询会找出负责com这个一级域名的服务器

        4.然后去该服务器查询google这个二级域名

        5、接下来查找三级域名www

 

        找到IP地址后就进行TCP握手,应用层下发数据给传输层。TCP协议会指明两端的端口,然后下发给网络层。网络层中的IP协议会确定IP地址,并且指示了数据传输中如何跳转路由器。然后包会再次被封装到数据链储层的数据帧结构中,最后就是物理层面的传输。

 

        在这一部分中,可以展开说说的有:

        浏览器缓存相关的知识。

        TCP建立连接的三次握手、TCP的特性(快重传...)以及TCP断开链接的四次挥手,再对比展开说说UDP。

        当TCP握手结束后会进行TLS握手,然后就开始正式的传输数据。这里可以展开TLS的握手情况以及两种加密方式的内容(对称,非对称)

        数据在进入服务端之前,可能还会先经过负责负载均衡的服务器。它的作用是将请求合理的分发到多台服务器上,这时假设请求响应成功,服务端会响应一个HTML文件。

        首先浏览区会判断状态码是什么。如果是200那就继续解析,如果400或500之类就会报错,如果300的话会进行重定向,如果有过多的重定向也会报错。

        浏览器接收文件后会开始解析文件,如果是gzip格式的话会先解压一下,然后通过文件的编码格式知道该如何去解码文件。

        文件解码成功之后,就会开始浏览器的渲染过程浅谈浏览器渲染页面的流程

部分内容参考于掘金《前端面试之道》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值