什么是Host?
你可以把host文件理解为优先级最高的本地映射表,在我们访问网址的时候,系统优先去本地的host文件找对应的ip地址,如果有就按这个设置的IP地址解析
DNS解析顺序?
如果要回答为什么要修改Host文件,那么我们首先需要简单了解DNS的解析顺序。
简单概括DNS解析过程,为
- 浏览器缓存
- 操作系统缓存
- 本地Host
- 本地域名服务器
- 根服务器
其中的本地Host在计算机系统内是一个文件,我们可以通过修改这个文件让本机访问域名指定到哪个文件。
Host文件如何修改?
1.Host文件的位置
以MacOS为例,Host文件的位置是
/etc/hosts
2.修改Host文件
Host本质上还是一个文本文件,我们采用常用的编辑器即可对文件进行修改,比如 vi vim 等。
注意的是,修改host文件需要root权限,请使用如下修改Host文件。
sudo vim /etc/hosts
3. 使Host文件生效
主动清理本机的DNS缓存即可
sudo killall -HUP mDNSResponder
开源软件SwitchHosts
从上面我们可以看出,本地环境切换Host需要
- 修改文件,输入密码
- 清理DNS缓存
做web开发的话,我们需要每天频繁切换本地环境、测试环境、生产环境,虽然这个操作不是很复杂,但是重复多次之后,对我们也是个负担。
SwitchHosts可以把配置文件保存到各个单独的配置选项,每次使用只要点击切换即可,非常方便。
目前SwitchHosts在github上的star有14.5k,也属于热门项目。
使用SwitchHosts可以大幅度减少开发人员在本地环境切换上花费的时间和精力,我已经把这个工具推广到项目全员了~
为什么使用开源工具
开源工具的特点是收费工具不能比拟的,那就是最贴紧用户。
我们首先是工具的用户,并且我们还可以是项目的贡献者。
因为项目源代码公开,我们就能保证他不会有后门,就能保证使用者的安全。(一定要从正规渠道下载的安装包,或者自己本地编译)
写在最后
开源工具是开发人员们给自己打造的称手工具,鼓励大家在使用开源工具之后,积极为开源工具做出贡献,促进开源工具向前发展~