一、位置
hosts是一个没有拓展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的ip地址建立一个关联数据库,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的ip地址,一旦找到,系统会立即打开对应的网页,如果没有找到,则系统会将网址提交DNS域名解析服务器进行ip地址的解析。
1、Window系统位置
全称URL(uniform resource locator),即统一资源定位符。
美高梅网上注册平台,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址。现在它已经被万维网联盟编制为互联网标准RFC1738了。
浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的ip地址,之后,浏览器才会对此网站进行定位并且访问数据。
操作系统规定,在进行DNS请求之前,先检查自己的hosts文件中是否有这个域名和ip的映射关系,如果有,则直接访问这个ip地址指定的网站位置,如果没有,再向已知的DNS服务器提出域名解析请求,也就是说hosts的ip解析优先级比DNS要高。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名。
1.加快域名解析:
对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
2.方便局域网用户
在很多单位的局域网中,会有服务器提供给用户使用,但由于局域网中一般很少架设DNS服务器,访问这些服务器时要输入难记的ip地址。这对不少人来说相当麻烦。可以分别给这些服务器取个容易记住的名字,然后再host中建立ip映射,这样以后访问的时候只要输入这个服务器的名字就可以了。
3.屏蔽网站(域名重定向)
有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒,对于这些网站我们可以利用hosts把该网站的域名映射到错误的ip或本地计算机的ip,这样就不用访问了。在windows系统中,约定127.0.0.1为本地计算机的ip地址,0.0.0.0是错误的ip地址。
举例:
127.0.0.1 # 要屏蔽的网站 A
0.0.0.0 # 要屏蔽的网站 B
这样,计算机解析域名A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。
4.顺利连接系统
对于lotus的服务器和一些数据库服务器,在访问时如果直接输入ip地址是不能访问的,只能输入服务器哦才能访问,那么我们配置好hosts文件,这样输入服务器名就可以顺利连接了。
C:WindowsSystem32driversetc
我们输入一个域名:www.baidu.com
浏览器查找浏览器缓存,如果有域名的IP地址则返回,如果没有继续查找;
系统查找系统缓存,如果有域名的IP地址则返回,如果没有继续查找;
路由器查找路由器缓存,如果有域名的IP地址则返回,如果没有继续查找;
本地域名服务器采用迭代查询,它先向一个根域名服务器查询;
根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址;
本地域名服务器向顶级域名服务器dns.com进行查询;
顶级域名服务器dns.com告诉本地域名服务器,下一次应查询的权限域名服务器dns.baidu.com的IP地址;
本地域名服务器向权限域名服务器dns.baidu.com进行查询;
权限域名服务器dns.baidu.com告诉本地域名服务器,所查询的主机www.baidu.com的IP地址;
方法1:
打开Finder,然后快捷键command+shift+g前往文件夹,输入
/etc/hosts
双击打开即可编辑,然后保存。
如果没有权限修改
没有权限
需要设置etc文件夹的访问权限以及hosts文件的访问权限,步骤是:右键--显示简介--共享与权限--修改everyone 读与写。
方法2
在terminate中输入
$ sudo -i
临时获取管理员权限,输入密码
然后编辑hosts
$ vi /etc/hosts
$ i
然后退出编辑 ESC--:--wq
或者直接
$ sudo vi /etc/hosts
输入密码,修改内容,退出编辑。
方法1和方法2修改之后都需要刷新DNS记录,使用命令:
windows: ipconfig /flushdns
mac: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed
五、hosts相关dns缓存
查看本机已经缓存了的那些dns缓存信息
$ ipconfig /displaydns
清空本机上的dns缓存
$ ipconfig /flushdns
因为觉得写得很好很清晰,此处引用同学的答案
第一步、在本地DNS缓存和hosts文件查找对应ip
在本地DNS缓存中查找域名对应ip浏览器和操作系统在获取网站域名的实际IP地址后会对其IP进行缓存,在短时间内重复访问同一域名时,会直接在DNS缓存中读取域名对应的IP地址,以减少网络请求的损耗(先在浏览器DNS缓存中查找,如果没有找到,则会在操作系统DNS缓存中查找)。浏览器和操作系统都有一个固定的DNS缓存时间,其中Chrome的过期时间是1分钟,在这个期限内不会重新请求DNS。2、查询hosts文件如果在本地DNS缓存中没有找到域名对应的IP地址,则会查询hosts文件,看其中是否已经有与当前域名对应的 IP 地址,如果有就会直接采用,如果没有,那么就得由DNS服务器进行域名解析完成域名与IP的转换工作。
2、Linux系统位置
DNS域名系统DNS(Domain Name System):用来把人们使用的域名转换为IP地址的系统。它是一个联机分布式数据库系统,采用客户服务器方式。2、DNS解析域名到IP地址的解析:当浏览器需要把域名解析为IP地址时,会调用解析程序,并成为DNS的一个客户,把带解析的域名放在DNS请求报文中,以UDP用户数据报方式发送给本地域名服务器可以是路由器或者是运营商服务器)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。浏览器在获取相应的IP地址后即可进行下一步的通信。
本文由美高梅网上注册平台发布于美高梅网上注册平台,转载请注明出处:系统会首先自动从hosts文件中寻找对应的ip地址,