在浏览器中访问www.hongxin.com时,发生了什么

    当我们在浏览器地址栏中输入如www.baidu.com时,到底发生了什么?我们直观感受是返回了一个页面,但其中的具体细节是什么呢?

    在介绍这个过程之前,我们先把这个过程中所需要的了解的知识点学习一下。

URL(统一资源定位符)

    我们熟知的url如www.taobao.com,它的全称是统一资源定位符。

DNS(域名解析器)

    有Local DNS Server(本地DNS服务器,LDNS)、ROOT DNS Server(互联网根DNS服务器)、gTLD Server(国际顶级域名服务器如 .com、.cn、.vip)。

Name Server域名服务器

    负责查询存储的域名与ip地址的映射关系表。

域名解析

                         

    ①当我们访问www.baidu.com时,首先浏览器会检查缓存中是否存在这个域名解析过后的ip地址,如果存在,则解析过程直接结束。但是,浏览器的缓存大小时有限的,缓存的时间也是有限的,因为当所访问的域名的ip地址发生改变时,如果浏览器缓存没有刷新,则可能导致该域名无法访问。当然时间如果过短,就会导致用户每次访问都会刷新浏览器缓存。

    ②当浏览器缓存中不存在该域名解析后的ip地址时,浏览器会检查系统hosts文件中是否有该域名解析后的ip地址。在Windows系统中,它的位置在 “C:Windows\System32\drivers\etc\hosts”,如果你在这里配置了url和对应的ip地址,浏览器就会优先使用这个ip地址。但是这样,给用户带来了一定的不安全性,某些病毒可以修改hosts文件,导致某些域名被挟持。所以Windows 7 中将这个文件设置成了只读。

    ③当本地hosts文件中也不能查找到给域名所对应的ip地址,则浏览器将会向本地域名服务器(Local DNS Sever)发送请求。在我们的网络配置中都会有“DNS服务器地址”这一项。一般有你的网络供应商提供,如电信、联通。本地域名服务器一般都会缓存域名解析结果,约80%的域名解析到这里就结束了。

    ④如果本地域名解析器没有得到域名解析后的ip地址,则LDNS会向ROOT Server请求解析,根域名服务器向LDNS返回一个gTLD Server地址。

    ⑤LDNS 再向gTLD发送请求,gTLD返回一个Name Server。

    ⑥LDNS再向Name Server发送请求,Name Server返回域名所对应的的ip地址,域名解析结束。

 

    域名解析的步骤远比上面的六步复杂,这里只是简单将过程介绍一下,如想继续深入学习,可再参阅相关书籍。

 

参考资料:《深入理解Java Web内幕》

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值