github
是全世界最流行的开源项目托管平台,其表明的开源文化从根本上改变了软件开发的方式.git
基本上全部的需求都能从 github
上或多或少找到现成的实现方案,不再用重头开始造轮子而是自定义轮子!github
然而,有时候国内访问 https://github.com/ 速度太慢,如何加速访问 github.com
网站就成了刚需.web
因为 github.com
网站位于美国旧金山,因此初始访问 github.com
时网络寻址会比较耗费时间,这也是网站打开速度慢的其中一个缘由.windows
国外在线检测网站: https://www.ipaddress.com/
最初用户从浏览器中输入 github.com
网址时,浏览器并不知道这个域名对应的真实 ip
地址,先问问本身电脑认识不认识这个域名的门牌号,若是本机不认识会接着往上问,当地运行商也不认识这个域名的话,继续问上级,直到问道 github.com
的门牌号是 192.30.253.113
为止!浏览器
如此繁琐的问路过程被称之为 DNS
寻址,若是问路的时间都占用好久,那么访问网站的速度天然会很慢.缓存
因此,若是咱们直接告诉浏览器目的地,那么浏览器也就不会一步一步去费劲问路了,这在必定程度上也就优化了访问网站的速度.bash
$ ping github.com -c 3 PING github.com (192.30.253.113): 56 data bytes 64 bytes from 192.30.253.113: icmp_seq=0 ttl=41 time=405.924 ms 64 bytes from 192.30.253.113: icmp_seq=1 ttl=41 time=346.654 ms 64 bytes from 192.30.253.113: icmp_seq=2 ttl=41 time=345.485 ms --- github.com ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 345.485/366.021/405.924/28.220 ms
ping github.com -c 3
查看github.com
网站的门牌号
正常来讲,网站的主域名下会存在多个子域名,由这些域名组合在一块儿提供完整的服务.服务器
而 github.com
也不例外,其中 github.com
是一级域名,也是主域名,其余的域名基本上都是二级余敏或者说次域名.网络
因此咱们不只要告诉本机 github.com
的主域名,还要把相关的子域名也告诉本机,帮人帮到底,送福送到西!dom
那到哪里去查询域名和 ip
的对应关系呢?
想想现实生活中,每一个人都有本身的家,而这个家有具体的地址,也就是平时说的门牌号.
固然,有些人名下不仅有一个家,能够有不少房产均可以做为家.
对应到计算机世界中,域名就是计算机中的我的用户,而域名的家就是 ip 地址.一个域名能够有多个 ip,但一个 ip 只能有一个域名.
正所谓"一山不容二虎","卧榻之旁岂容他人酣睡",一家之主只能有一个!
若是有人想要拜访您,确定要有具体的地址才能到你家里作客,从你家到你家的地址这个过程多是你告诉他的,也多是他本身找别人打听到的消息.
域名到 ip
地址的过程一样也须要找人询问,这个信息通常会存在 dns
服务商那里,就像咱们的地址登记到相关政府机构同样.
虽然相关机构的信息比较权威及时,但门槛有点高,不如问一下当地的"消息通".
互联网上的"消息通"更是数不胜数,这里推荐两个查询域名解析的网站.
下面以 ipaddress.com
网站为例,查询下 github.com
网站的相关信息.
在输入框中输入 github.com
域名后开始解析该域名的相关信息,不只找到了域名对应的 ip
地址还查询到相关网站的域名信息.
亲自去体验一下: 域名查询
根据查到的相关域名信息,再次查询出这些域名对应的 ip
地址,因而整理出如下内容.
# github related website 192.30.253.113 github.com 151.101.185.194 github.global.ssl.fastly.net 192.30.253.118 gist.github.com 192.30.253.120 codeload.github.com 185.199.108.153 desktop.github.com 185.199.108.153 guides.github.com 185.199.108.153 blog.github.com 18.204.240.114 status.github.com 185.199.108.153 developer.github.com 185.199.108.153 services.github.com 192.30.253.175 enterprise.github.com 34.195.49.195 education.github.com 185.199.108.153 pages.github.com 34.196.237.103 classroom.github.com
大型网站服务器都不会是只有一台服务器,而是多台服务器组成的集群一块儿对外提供服务.
全世界都在使用 github
,若是每一次访问网站时走的都是美国服务器,即便浏览器知道目的地,可是距离太多遥远仍是会很慢.
所以,若是可以就近访问 github
网站就能大幅提升访问速度了,幸运的是,网络上一样有现成的工具来帮助咱们查看就近的网站地址.
亲自去体验一下: DNS查询
从上图中咱们能够看出,同一个域名有不少不一样的 ip
地址,从中选择 TTL
值最小的做为优化标准.
因而,将上述清单继续优化成如下内容:
# github related website 192.30.253.113 github.com 151.101.185.194 github.global.ssl.fastly.net 203.98.7.65 gist.github.com 13.229.189.0 codeload.github.com 185.199.109.153 desktop.github.com 185.199.108.153 guides.github.com 185.199.108.153 blog.github.com 18.204.240.114 status.github.com 185.199.108.153 developer.github.com 185.199.108.153 services.github.com 192.30.253.175 enterprise.github.com 34.195.49.195 education.github.com 185.199.108.153 pages.github.com 34.196.237.103 classroom.github.com
最好亲自测试一下就近站点以求得到最佳体验,不过推测应该差别不是很大,因此直接复制也无妨.
如今咱们已经弄清楚域名和 ip
的映射关系,接下来要作的事情就是告诉本机,不一样的操做系统具体文件存放的地址可能有些不一样,下面咱们以 Windows
和 Mac
举例说明.
# github related website 192.30.253.113 github.com 151.101.185.194 github.global.ssl.fastly.net 203.98.7.65 gist.github.com 13.229.189.0 codeload.github.com 185.199.109.153 desktop.github.com 185.199.108.153 guides.github.com 185.199.108.153 blog.github.com 18.204.240.114 status.github.com 185.199.108.153 developer.github.com 185.199.108.153 services.github.com 192.30.253.175 enterprise.github.com 34.195.49.195 education.github.com 185.199.108.153 pages.github.com 34.196.237.103 classroom.github.com
windows
映射文件存放于:
C:\Windows\System32\drivers\etc\hosts
hosts
文件,将上述映射关系追加到文件末尾,保存并退出.
若是因为权限不足,没法保存,能够复制到桌面再编辑文件,最后移动并替换到
hosts
文件.
ipconfig /flushdns
刷新 dns
缓存.mac
映射文件存放于:
/etc/hosts
hosts
文件并追加上述映射关系.$ cat /etc/hosts # jetbrains 0.0.0.0 account.jetbrains.com 0.0.0.0 www.jetbrains.com # github related website 192.30.253.113 github.com 151.101.185.194 github.global.ssl.fastly.net 203.98.7.65 gist.github.com 13.229.189.0 codeload.github.com 185.199.109.153 desktop.github.com 185.199.108.153 guides.github.com 185.199.108.153 blog.github.com 18.204.240.114 status.github.com 185.199.108.153 developer.github.com 185.199.108.153 services.github.com 192.30.253.175 enterprise.github.com 34.195.49.195 education.github.com 185.199.108.153 pages.github.com 34.196.237.103 classroom.github.com
sudo dscacheutil -flushcache
刷新 dns
缓存.$ ping github.com -c 3 PING github.com (192.30.253.113): 56 data bytes 64 bytes from 192.30.253.113: icmp_seq=0 ttl=41 time=395.808 ms 64 bytes from 192.30.253.113: icmp_seq=1 ttl=41 time=306.919 ms 64 bytes from 192.30.253.113: icmp_seq=2 ttl=41 time=298.188 ms --- github.com ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 298.188/333.638/395.808/44.105 ms $
本文讲述了如何解决 github.com
网站访问速度慢的问题,经过修改本机的 hosts
文件来绕过 dns
解析,这种方法仅仅适用于可以访问网站只不过是访问速度慢这一现象.
若是自己没法访问国外网站,那么这种方法就不适用,可能须要另辟蹊径!