指点成金-最美分享吧

登录

如何修改 Chrome OS的 Hosts

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了如何修改 Chrome OS的 Hosts相关的知识,希望对你有一定的参考价值。

如何修改 Chrome OS的 Hosts:
点击桌面上方的“前往”->“前往文件夹”(或者快捷键 Shift+Command+G)
输入 /private 按回车,进入之后在 etc 文件夹上点击右键——>显示简介,
在文件夹简介窗口的最下面找到“共享与权限”,将 everyone(或者当前登录用户) 的权限修改为“读与写”,如果你发现不能修改的话,将右下角的那把小锁先解开就可以修改了。
修改 etc 文件夹的权限之后,再进入 etc 文件夹下面,修改名为 hosts 文件的权限,跟上面一样是 everyone(或者当前登录用户) 的“读与写”,
修改完成之后,就可以直接在 hosts 文件上点右键,通过“文本编辑”打开并编辑该文件了。
参考技术A 1.装chrome插件。例如 hostadmin:https://chrome.google.com/webstore/detail/oklkidkfohahankieehkeenbillligdn2.修改系统的:sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions 2
然后修改/etc/hosts就好了。
参考技术B 1.装chrome插件。例如 hostadmin:https://chrome.google.com/webstore/detail/oklkidkfohahankieehkeenbillligdn2.修改系统的:sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions 2
然后修改/etc/hosts就好了。

修改hosts不立即生效原因分析

我们经常也遇到修改hosts不生效的情况,而且有时生效,有时不生效的情况也有发生,这到底是为什么呢?

起:DNS缓存机制

关于DNS缓存的机制,有一篇非常详细的文章What really happens when you navigate to a URL。

简单来说,一条域名的DNS记录会在本地有两种缓存:浏览器缓存和操作系统(OS)缓存。在浏览器中访问的时候,会优先访问浏览器缓存,如果未命中则访问OS缓存,最后再访问DNS服务器(一般是ISP提供),然后DNS服务器会递归式的查找域名记录,然后返回。

DNS记录会有一个ttl值(time to live),单位是秒,意思是这个记录最大有效期是多少。经过实验,OS缓存会参考ttl值,但是不完全等于ttl值,而浏览器DNS缓存的时间跟ttl值无关,每种浏览器都使用一个固定值。 这里有一篇文章,做过详细的测试Why Web Browser DNS Caching Can Be A Bad Thing:

后来我也做过测试,Mac下Chrome(23.0.1271.101)的DNS缓存时间是1分钟。Safari下DNS缓存时间大约为10秒。


解:hosts文件修改的原理

那么在修改hosts文件之后,发生了什么事情呢?这里不妨先提提Chrome下的一个工具:chrome://net-internals/#dns。这里列出了目前系统中的DNS缓存和Chrome中使用的情况。通过这个工具,可以看到: 在修改hosts文件后,所有OS中DNS缓存会被清空,而浏览器缓存则不发生变化。 网上盛传chrome://net-internals/#dns下的"Clear Host Cache"可以清空DNS缓存,这里博主做了一个测试,这里清空的仅仅是OS的缓存,而并非浏览器DNS缓存。当某条DNS记录显示"Expired"的时候,才表示浏览器DNS缓存已经被清除。所以使用Clear Host Cache其实是没有用的。

那么回到最初的问题上来,为什么修改hosts文件之后,有时会立刻生效,有时却一直不生效呢?其实原因很简单,这是因为浏览器缓存的过期时间,是从某个域名上次查询DNS记录开始计算的。

例如:我00秒的时候使用chrome访问过www.google.com.hk,此时浏览器DNS缓存产生,然后我修改了hosts文件,将www.google.com.hk指向本地127.0.0.1,然后在05秒的时候尝试再次访问这个地址,因为浏览器DNS缓存未过期,所以hosts修改无法体现出来。

另一种情况下,我很久都没有访问www.baidu.com了,然后我修改了hosts文件,将其指向127.0.0.1,这时因为浏览器没有DNS缓存,所以会查询操作系统中的DNS缓存,结果此时hosts文件生效!

前面也提到,Safari的浏览器DNS缓存时间大约为10秒,所以一般调试程序的时候,很多人都习惯修改hosts后,用Safari来调试,因为大部分情况下,修改hosts之后,浏览器DNS缓存已经失效了。

那么怎么主动清除浏览器DNS缓存呢?博主目前也没有找到办法,测试过Chrome下的“清除缓存”选项,发现没有起到期望的效果。

那么,就请在修改hosts之后,耐下心来,稍等几十秒吧。

这里提供一个google最新hosts更新网址:http://whosmall.com/?post=148

 

写在最后:FOR Freedom 看看外边的世界,以及IT这一行,少不了去Google查资料,最后,安利一些速器代理。

 

加速器推荐免费方案付费方案官方网站
一枝红杏加速器免费方案暂无,稳定高速输入8折优惠码wh80,年付只需80元/年官网直达http://whosmall.com/go/yzhx
安云加速器最好用的外贸VPN最低¥30/月官网直达http://whosmall.com/go/ay
LoCo加速器每天免费2小时最低¥15/月官网直达http://whosmall.com/go/loco

 

转自 SUN"S BLOG - 专注互联网知识,分享互联网精神!

相关阅读Mac 系统上如何用 LaunchBar 一键下载网页上的所有文件?

相关阅读MacOS 如何用 LaunchBar 一键上传文件至 Google Drive?

相关阅读最好用的 Mac App 快速启动及切换工具:Manico 2.0

相关阅读我为什么选择 Window Tidy 作为 MacOS 分屏工具?

相关阅读Chrome 扩展 Stylish :给不喜欢某个网站一键「换肤」

相关阅读将 QQ 音乐、网易云音乐和虾米音乐资源「整合」一起的Chrome 扩展Listen 1

相关阅读8 个「新标签页」Chrome 扩展: 教你把 New Tab 页面玩的溜溜溜

相关阅读7 款实用 Chrome 扩展推荐:帮你提升 Chrome 使用体验

相关阅读无扩展就不是 Chrome 了:15 款优质的Chrome 扩展推荐给大家

相关阅读12 款不能少的使网页浏览获得的最佳体验Chrome 扩展

相关阅读5 款可以带来幸福感的 Chrome 扩展

相关阅读: 对程序员有用:2017最新能上Google的hosts文件下载及总结网友遇到的各种hosts问题解决方法及配置详解

相关BLOG:SUN’S BLOG - 专注互联网知识,分享互联网精神!去看看:www.whosmall.com

原文地址:http://whosmall.com/?post=475

 

以上是关于如何修改 Chrome OS的 Hosts的主要内容,如果未能解决你的问题,请参考以下文章