详解http访问解析流程原理


Posted in Javascript onOctober 18, 2017

详解http访问解析流程原理

http访问网址域名解析流程:

1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间就是的交互查询就是迭代查询。

如下图:

详解http访问解析流程原理

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
Js表格万条数据瞬间加载实现代码
Feb 20 Javascript
jQuery实现类似淘宝网图片放大效果的方法
Jul 08 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
Mar 05 Javascript
简述Matlab中size()函数的用法
Mar 20 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
js时间戳和c#时间戳互转方法(推荐)
Feb 15 Javascript
vue-cli配置文件——config篇
Jan 04 Javascript
Element input树型下拉框的实现代码
Dec 21 Javascript
微信小程序设置滚动条过程详解
Jul 25 Javascript
Vue是怎么渲染template内的标签内容的
Jun 05 Javascript
js实现会跳动的日历效果(完整实例)
Oct 18 #Javascript
打字效果动画的4种实现方法(超简单)
Oct 18 #Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 #Javascript
基于JavaScript表单脚本(详解)
Oct 18 #Javascript
VUE饿了么树形控件添加增删改功能的示例代码
Oct 17 #Javascript
vue-router实现tab标签页(单页面)详解
Oct 17 #Javascript
BACKBONE.JS 简单入门范例
Oct 17 #Javascript
You might like
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
基于jquery的时间段实现代码
2012/08/02 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
2020/05/11 Python
Python3开发环境搭建详细教程
2020/06/18 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
python3实现简单飞机大战
2020/11/29 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
中西医专业毕业生职业规划书
2014/02/24 职场文书
儿童生日会策划方案
2014/05/15 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
小学运动会通讯稿
2015/07/18 职场文书
老乡会致辞
2015/07/28 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电