详解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 相关文章推荐
document.all还是document.getElementsByName?
Jul 21 Javascript
jQuery中delegate和on的用法与区别详细解析
Jan 26 Javascript
js document.write()使用介绍
Feb 21 Javascript
纯js实现仿QQ邮箱弹出确认框
Apr 29 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
Oct 26 Javascript
jQuery的each循环用法简单示例
Jun 12 Javascript
关于input全选反选恶心的异常情况
Jul 24 Javascript
移动端js图片查看器
Nov 17 Javascript
jQuery实现字符串全部替换的方法【推荐】
Mar 09 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
Apr 14 Javascript
React实现类似淘宝tab居中切换效果的示例代码
Jun 02 Javascript
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
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中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP中iconv函数知识汇总
2015/07/02 PHP
9个比较实用的php代码片段
2016/03/15 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
node.js实现快速截图
2016/08/27 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
Vue中的Vux配置指南
2017/12/08 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
JS实现倒计时图文效果
2018/11/17 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
Python中的两个内置模块介绍
2015/04/05 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
药剂专业学生求职信范文
2013/12/28 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
协议书样本
2014/04/23 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
卖车协议书范例
2014/09/16 职场文书
出差报告格式模板
2014/11/06 职场文书
工作简历自我评价
2015/03/11 职场文书
写好求职信的技巧解密
2019/05/14 职场文书