DNS
Domain Name System(域名系统):为了加快定位IP地址的速度, 将域名映射进行层层缓存的系统.
- 目的:互联网通过IP(10.223.146.45)定位浏览器建立连接,但是我们不易区别IP,为了方便用户辨识IP所代表的意义,操作系统会将IP和域名进行转换(roadmapsupporter.com)。IP比作ID Card:373×××××,域名就是人名张三李四王二麻子
- 作用:转换IP地址和域名
- DNS查找顺序:浏览器缓存> 本地操作系统缓存> DNS服务器(路由缓存>互联网 DNS缓存服务器)
- 浏览器缓存: 只存下浏览器自己访问过的域名.
chrome:chrome://net-internals/#dns:
- 本地操作系统缓存: 电脑访问过的, 具体可通过hosts文件设置
windows:ipconfig /displaydns
- DNS 服务器: 包括路由缓存和互联网DNS服务器, 以及13台根服务器
a. 电脑通过路由器(或交换机)连入互联网, 为了加快访问的时间, 缓存用的域名
b. 互联网DNS服务器, 是路由缓存的上一级, 一般为宽带运营商
c. 一直到最后, 最全的就是根服务器, 一共13台, 通过物理文件的冗余, 分摊全球的域名查询任务
- 浏览器缓存: 只存下浏览器自己访问过的域名.
hosts文件
- hosts: 由操作系统操作的IP和域名的本地映射文件,可以视为DNS server的重写,一旦查到了指定的域名,就不会继续查找DNS server, 所以可以节省时间。
但是hosts设置的IP地址是静态的,如果web app的宿主机地址发生改变,对应的hosts也要改写。 - DNS是一个服务器,可以看作注册表,记录域名及对应的IP。浏览器访问网址时会根据域名在此服务器获得IP.
为了加快访问速度,DNS会将一部分服务委托给子服务器,实现迭代查找
设置Hosts文件
- 文件地址:C:\Windows\System32\drivers\etc\hosts
- 文件权限:Right Click> Properties> Security
- 文件修改:注意域名后不要有空格
- 域名刷新(Windows):[cmd] ipconfig /flushdns
- (Mac):
sudo vim /etc/hosts sudo killall -HUP mDNSResponder sudo dscacheutil -flushcache