DNS浏览器输入url后经历的过程

地址栏输入一个url会发生什么?(http请求过程)

先找浏览器缓存,没有找host,没有就用dns递归查询本地域名服务器,本地域名服务器迭代查询根域名服务器,得到ip地址之后,3次握手建立tcp连接,之后服务器收到http请求,返回http响应,客户端加载,4次挥手断开连接

递归查询和迭代查询
递归查询DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机(服务器返回ip
迭代查询: DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果(服务器返回可以获取ip的服务器地址
递归查询对于被查询的域名服务器负担太大,通常采用以下模式:从请求主机到本地域名服务器的查询是递归查询,而其余的查询是迭代查询

①输入地址:

当输入地址时,浏览器已经开始从缓存中读取数据了,可以智能寻找你所要的url,让你可以补全url地址

②浏览器查找域名的 IP 地址:

请求发起后(Enter键),第一步解析url的域名,首先查看本地磁盘的hosts文件,如果有域名对应的规则,则直接使用对应的ip地址
如果本地hosts文件找不到,则发一个DNS请求到本地DNS服务器,首先查询缓存,再到域服务器查询,然后返回一个解析服务器地址,向这个解析服务器地址发请求,这时候就能收到一个域名和ip地址的对应关系了,并保存到缓存中
(扩展:DNS就是根据域名获取IP地址的服务器)

③浏览器向web服务器发送一个http请求

在发送http请求之前,浏览器会先建立tcp连接(因为有连接才能发送请求,)。浏览器在拿到域名对应的ip地址后,会以一个随机端口向web服务器端口发起tcp的连接,建立连接后再发送http请求

④服务器的永久重定向响应

服务器给浏览器响应一个301永久重定向响应

⑤浏览器跟踪重定向地址
⑥服务器处理请求

(例如Java中执行handler→service→mapper→数据库)当然对于一些大网站,会搭配负载均衡Nginx来进行请求分发,不至于请求至一个服务器,导致压力过大

⑦服务器返回一个http响应,并关闭tcp连接
⑧浏览器显示HTML

(如果含有其他css、js文件,同样会进行发请求获取并载入)

域名服务器分类

根域名服务器 根域名服务器是最高层次的域名服务器。每个根域名服务器都知道所有的顶级域名服务器的域名及其IP地址。因特网上共有13个不同IP地址的根域名服务器。当本地域名服务器向根域名服务器发出查询请求时,路由器就把查询请求报文转发到离这个DNS客户最近的一个根域名服务器。这就加快了DNS的查询过程,同时也更合理地利用了因特网的资源。

顶级域名服务器 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时就给出相应的回答(可能是最后的结果,也可能是下一级权限域名服务器的IP地址)。

权限域名服务器 这些域名服务器负责管理某个区的域名。每一个主机的域名都必须在某个权限域名服务器处注册登记。因此权限域名服务器知道其管辖的域名与IP地址的映射关系。另外,权限域名服务器还知道其下级域名服务器的地址。

本地域名服务器 本地域名服务器不属于上述的域名服务器的等级结构。当一个主机发出DNS请求报文时,这个报文就首先被送往该主机的本地域名服务器。本地域名服务器起着代理的作用,会将该报文转发到上述的域名服务器的等级结构中。本地域名服务器离用户较近,一般不超过几个路由器的距离,也有可能就在同一个局域网中。本地域名服务器的IP地址需要直接配置在需要域名解析的主机中。

链接: link
https://blog.csdn.net/du5006150054/article/details/81776183

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值