怎样能提升访问网站的速度呢……
1.基础知识:服务器,网络,IP地址,域名
这些概念可能介绍得比较简略,有不严谨之处还请谅解。如果只想看方法可以暂时掠过此处部分。
服务器:实际上就是一台计算机,但是经过特殊配置,可以为其他计算机提供服务。
例如,我们使用百度搜索、观看bilibili视频,都分别连接了百度服务器、bilibili服务器。
想要连接其他服务器,我们需要知道那个服务器具体在哪里。之后我们向服务器发信息,服务器还需要向我们回传数据。因此服务器也必须知道我们的位置。
就像我们写信给一个人,我们要知道他所在的地址。同时我们自己也需要有个发信地址,以便对方回信。
因此,服务器(计算机)相对于网络的具体位置,我们可以称其为网络地址。连接到这个服务器,我们称其为“访问服务器”。
IP地址就是用来描述一个网络中计算机的位置的。
IP指网际互连协议,Internet Protocol的缩写,是TCP/IP体系中的网络层协议。
在同一规模的网络上,IP地址是独一无二的。比如全球的公网IP地址不会有重复,否则我们就没法找到需要访问的服务器了。
就像这个世界上不能出现两个名称一模一样的国家。
然而,世界上并不是只有互联网这一个世界级的网络。因为,除了计算机、服务器能直接连接到互联网上,下一级的网络也可以连接到互联网。这个下一级的网络还可能连接有再下一级的网络……我们往往是连接到第n级网络,之后一级一级的向上跨越,最终连接到互联网。
这和直接连接到互联网不同。拿中国举例,我们属于大连市,大连市属于辽宁省,辽宁省属于中国。而北京市作为直辖市也属于中国。虽然大连市、辽宁省、北京市这几个地名都属于中国,但我们不能说大连市和北京市是同一级别的地名。
理解这些问题,我们来说说这些网络。我们说,IP地址是用来描述一个网络中计算机的位置的。不同网络的IP自然可能重复。
就像同一个市不能有两个人民广场,但是全中国有很多人民广场。
也就是说,我们所称的公网IP和我们看到自己的局域网IP是不同的。
实际上,计算机网络的结构很多也比较复杂:https://zhuanlan.zhihu.com/p/311656440
简单说说域名。它最初是为了便于人们记住,通过域名访问对应的网站。可见域名和IP地址是相互关联的。
2.DNS服务与hosts
DNS就是用于把域名转换为IP地址的服务。这个服务同样是由一些服务器提供。它们称为DNS服务器。很多不同的提供商都有提供这个服务。
DNS服务原理看起来很简单,只是通过域名查找对应的IP即可。然而不同运营商,不同DNS服务器所记载的信息内容可能会略有差别。
例如某个网站在不同地区架设了好几个服务器,初衷是用户距离哪个服务器更近就访问哪个服务器,加快访问速度。因此某些具有地区性的DNS服务会提供本地访问快的域名。
但是这里也有问题,例如某个DNS服务器只知道这个网站的一个服务器的IP地址,所以全球的电脑通过这个DNS服务器只会获取到同一个IP地址,造成访问慢。
同时为了阻止用户访问某些网站,一些DNS服务还会故意删除这些网站的记录信息,用户无法得知这些网站的IP也就无法访问了。例如github从我们国内访问很不稳定。
不过我们有方法强制指定一个IP地址,不使用DNS服务器提供的地址。如果我们手动指定的这个地址更快,那就达到了加速的目的。
这点可看阿虚同学的有关文章,会讲解DNS\HOSTS的原理,同时讲到的UsbEAm就是通过修改hosts实现加速的,还有一个SteamCommunity302为反代加速。
3.GitHub访问加速
UsbEAm Hosts Editor这个使用教程就看原作者的介绍吧:https://www.dogfight360.com/blog/475/
反代加速:https://www.dogfight360.com/blog/686/
对于hosts editor,点击左下角图标之后,鼠标移动到developer,并将github.com、raw及用户头像、githubassets、release下载[Fastly]都更改为延迟较低的主机即可。
若hosts editor显示源站加载失败、无法进入,可多次尝试,若无效需要暂时使用其他方法。
对于steamcommunity302,可以在设置中左下方勾选github加速,其他的能不勾选就取消勾选。右上角的steam登录加速也不需勾选。之后保存设置,启动反代即可。
4.GitHub下载加速
有许多用户自己创建了加速源,通过他们的加速服务器,可以更快下载GitHub的文件。
而许多加速服务器具有时效性,过一段时间就失效了,因此手动更换比较麻烦。
于是可以使用这个脚本:https://greasyfork.org/scripts/412245
脚本会自动获取加速地址,之后在网页里加入按钮,便于下载。
如在GitHub release页面中,对应的文件右侧会添加多个按钮,通常点击一个靠前的按钮,点后稍等几秒钟才会弹出下载,切勿着急。如等待若干秒后无反应,再尝试下一个按钮。
我们下面讲到的很多软件将会需要GitHub,所以这里先讲完GitHub的访问。