经典面试题--在浏览器中输入URL之后会发生什么?

当在浏览器中输入URL之后会发生什么事情?

1.URL进行解析,浏览器会判断当前输入的URL是否正确

(URL为什么要进行解析:因为网络标准规定了URL只能是字母和数字,还有一些其他的特殊符号(比较常见的就是不包括%,“”),而且如果不转义就会会出现歧义。URL的编码规则是utf-8,保证编码格式使用encodeUrlComponent)

2:浏览器会判断当前的URL有没有缓存

(当项目中改动了代码但是还是原来的界面就是URL缓存,解决办法:ctrl+R强制刷新;URL加一个参数)

3:DNS服务器(域名-》IP)。

(dns解析流程:查询一个网址时,输入域名,操作系统会先查找hosts间是否有记录,有的话返回相对应映射的ip,没有就去查本地的dns解析器有没有缓存,然后就去找我们计算机上配置的dns服务器上有没有缓存,还没有的话就去找根DNS服务器(全球13台,固定ip地址),然后判断域名是哪一个服务器管理的,如果无法解析,就查找服务器是否能解析,知道查到IP地址)

4:TCP连接(3次握手)
经典面试题--在浏览器中输入URL之后会发生什么?_第1张图片

5:以HTTP协议的数据格式发送数据给服务器
经典面试题--在浏览器中输入URL之后会发生什么?_第2张图片

6:ACK返回给客户端,告诉客户端我已经收到消息了
7:服务器业务代码处理,并且把结果返回给浏览器

(1.从HTTP里面获取到参数2:先执行非空操作,以及相应的业务处理(访问数据库),返回一个查询结果3:把结果返回给客户端)

8:浏览器拿到服务器返回的信息,解析首行信息,看其中的状态码是什么,执行渲染(浏览器内核进行渲染,然后展示出不同的结果)。
9.TCP断开(四次挥手)
经典面试题--在浏览器中输入URL之后会发生什么?_第3张图片

你可能感兴趣的:(面试,网络,java)