标签归档:CDN

启用Google AMP移动网页加速显示技术

网站速度优化-Google-AMP

早前关注过AMP移动加速显示优化技术(加速移动页面Accelerated Mobile Page)(百度有类似MIP,Facebook有Instant Article),尤其是在Google移动搜索里搜索新闻时候,经常见到排在前面的结果会有AMP闪电符号,打开这种结果网页也是异常地快速与简洁。

2016年8月,Google宣布AMP移动搜索结果将适用于所有网站(Google取消了移动友好页面的Mobile Friendly标志就是为了给AMP标志让路)。百度、搜狗、雅虎日本最近也宣布支持收录AMP网页,表明此技术应用越来越广泛。大势所趋,土木坛子现在也开始使用AMP技术来加速移动端加载速度。

只需在WordPress后台安装官方AMP插件(不建议安装第三方的插件, 插件的中文翻译支持参考该文章),开启插件即可——不需要任何设置。对于非移动端,直接在每篇文章页面链接的最后加上AMP就可以看到AMP显示效果。也可以使用Chrome的AMP插件来检查页面上可能的HTML语法错误。

配置好AMP后,之后等待Google爬虫来索引就可以了——也可以手工去Google Webmaster后台提交。我的网站在开启AMP后24小时不到,就可以看到Google已经开始在移动端提供部分搜索结果的AMP(需要在Google手机移动端点击,平板和PC桌面Google都不行)网页了。

AMP加速移动显示

AMP本质技术原理其实就是一个简洁版并内置CSS的HTML静态网页(AMP HTML),禁止掉第三方JavaScript而只用少量特定版本的AMP JavaScript,再加上从Google移动搜索结果里面出来的AMP网页全部都由Google全球CDN网络提供Cache高速缓存(AMP Cache),因此在手机上的网页加载速度,即使在移动网络下,也确实达到了异常之快,闪电秒加载,有效提高访客用户体验。

采用AMP技术的网站加载速度比全站CDN还要快,Google在搜索结果里就开始预加载AMP页面,而且AMP页面本身的元素也已经极度精简。通过Google手机端搜索进入本文后页面的域名都直接变成Google, 比如本文的链接变成:

https://www.google.com/amp/s/tumutanzi.com/archives/15640/amp

使用Google AMP技术的网页本身支持Google Analytics统计,也支持显示AdSense广告。但这种简洁页面的并不是没有代价和缺点:去除了除内容之外的所有其它功能,包括各种JavaScript代码,它甚至可能会有小问题——这项开源技术还在发展中,它的设计目的也不是为了适合所有类型的网站(但非常适合新闻类和博客类等含有静态内容的网站)。这也是有些互动内容较多的网站不愿意使用的原因。

其实我的网站本身足够简洁,对手机的响应式显示也很友好,并且我也用了CloudFlare的CDN加速服务,因此,Google AMP带来移动端的加载速度提升本身并不会太明显。我使用AMP更主要的原因是因为这项技术是Google推出,为了获取AMP下更好的Google搜索排名优点(SEO),启用它应该利大于弊。

由于是Google主推的开源服务,所以国内无法看到Google提供的AMP网页,因为在中国大陆无法使用Google搜索。而我的网站主要的访客都是从Google搜索过来,移动搜索所占比重也越来越多,为了更好的服务这些访客——节省他们的时间,开启Google AMP服务支持也无可厚非。而且,增加AMP支持原来不影响网站原来的任何东西,纯粹加分项。

长期来看,AMP可能只是一个历史过渡期的产物,将来的移动网速只会越来越快,硬件性能也越来越好,网页加载速度也自然跟着提升。不过在目前,我觉得启用AMP还算是拥抱新技术。一万年太久,只争朝夕。

简评ZeroNet分布式P2P网络

zeronet

除了几年前的比特币,很久没有令我眼前一亮好玩的互联网东西出来了。最近看到月光博客介绍了ZeroNet分布式网络。试玩了一下ZeroNet,觉得这个P2P分布式网络很有意思。

简单地说,ZeroNet就是一个P2P为基础的HTTP分布式互联网世界,网址形式为127.0.0.1后面跟一个比特币钱包地址一样的34位长度字符串,比如:

http://127.0.0.1:43110/1D41D7ybgaDypUV3wJ12NHRdJSL35kLiSJ

虽然没有HTTPS,但我猜测内容本身已经加密,就像比特币的网络系统一样。我一看到ZeroNet网络,感觉这才是真正纯粹的互联网,又或者是早期的互联网模式,代表的是真正的平等、自由、民主、隐私。

与我们平时访问的互联网相比,最大的不同点就在于ZeroNet是去中心化,不需要中心服务器,每个访客都是一个节点,承担存储内容和传输带宽,第三方自然也无法审查删除内容。从这一点上来讲,ZeroNet比CDN式的分布式网络更彻底,CDN不过是把原来的一个中心分散成更多的中心,ZeroNet把内容分布在每一个访客节点上。

听起来和暗网或深网类似,又是一个互联网的法外之地?的确,ZeroNet类似的P2P网络与神秘的暗网一样,它不受政府管制,除非把整个网络摧毁——比特币也是如此。从这个意义上来讲,它能成为技术上保持中立的传播工具。至于人类利用它来干坏事还是好事,那完全是另外的话题——我们只谈技术。

不过,暗网依然需要中心服务器,只不过外界无法知道服务器的具体地址在哪里——也许美国NSA有这个能力,暗网本身并不依赖P2P技术。ZeroNet上的内容发布以后,只要有一定数量的节点存活,发布者节点关闭与否都不再重要,内容已经永久存活在网上,永远可以访问,就像用BT发布内容一样,只要种子成活后,内容就理论上存活在互联网上。

ZeroNet有一个与BitTorrent发布内容不一样的地方,ZeroNet发布的内容可以修改,就像我们现在用的普通网站一样,随时可以修改内容,与之连接的节点也会自动更新。而BT发布后的内容就无法修改了。

易用性方面,ZeroNet和暗网相比不相上下,暗网需要TOR来浏览,要访问ZeroNet网络,直接下载ZeroNet软件,解压后点击即可运行使用,就像VPN一样,运行它后并不影响现行的网络连接,唯独多了一个访问ZeroNet的P2P网络世界功能,并且是全局访问,无论用哪个浏览器都可以访问ZeroNet世界里的网站。

对中国大陆用户来讲,可能还有一点其它的意义,它是一个真正意义上不受监控的网络,配合加密,GFW可能很难对付。ZeroNet虽然依赖于现行的IP地址系统,但它完全与现行的网络平行,也就是说,现行网络上的内容需要有人转移到ZeroNet网络上,ZeroNet上目前的内容很少。ZeroNet也有相应的搜索收录引擎:http://zeroexpose.com/ 目前收录的内容很少。

在ZeroNet上建立了个站点,不需要主机、域名、流量带宽,连我自己都不需要开机就可提供可访问。如果你已经下载了ZeroNet,应该能访问。否则点击这里使用ZeroNet的网关bit.no.com访问。或者从GitHub下载,目前支持Mac, Linux和Windows, 还不支持移动设备系统。

我不太认为ZeroNet能取代现行的网络架构。现行的万维网架构发明并存在如此长时间,已经被时间证明了它的重要性,但ZeroNet的出现的确令我眼前一亮,至少从技术层面上来讲,我很久没有这样的感觉了。

必须声明,我也是刚接触ZeroNet,以上理解与评价可能有错误,欢迎高手指正补充。

全面进入HTTPS加密时代

HTTPS SSL

新年来临,也有些新变化。在网站方面,我把我所有能换成HTTPS SSL的网站都迁移到了HTTPS SSL——包括我帮忙制作的英国湘味情中餐馆网站,全面加速进入到HTTPS加密时代。

本次升级为HTTPS主要借助于CloudFlare的免费HTTPS证书。由于这些网站也不再使用Media Temple的主机服务,于是改用了更为小众的戈戈主机,流量方面不再宽裕,安全性能方面也不得而知,于是也像土木坛子这个网站一样,启用了CloudFlare的CDN全球加速,再配合HTTPS+HSTS加密,HTTP/2功能也能启用。

因此,使用CloudFlare全球CDN后,可以最大限度提高网站的访问速度,并且节省源主机CSS, JS和图片等静态文件的流量,CloudFlare的反代理DNS能够隐藏源主机IP,进一步提高主机安全性。当然CloudFlare也不是没有缺点,CloudFlare免费CDN下面的HTTPS SSL证书不支持一些过时的浏览器。不过我觉得这些浏览器用户所占比例不大,没有必要迁就他们。

升级到HTTPS后,再到Google网站管理中心更新了一下,很快就收录了新的HTTPS链接。Google对HTTPS的支持力度实在是不一般。

网站加载速度优化技巧

网站优化

网站速度的重要性不言而喻。如果不是墙的影响,土木坛子目前的加载速度异常快,我在英国加载本网站首页,可以实现500毫秒以内完成加载,半秒钟都不到。

这是如何做到的?采用了什么优化方案?简单来说,我的优化方案和技巧如下,供博客朋友提升网页速度参考使用。

简洁的主题界面

如你所见,土木坛子目前采用WordPress官方主题2012, 禁用了Google字体,除了Google Analytics统计代码,其它全部采用本域名下的资源,包括JS, 图片等静态资源——连Gravatar头像都缓存在本主机上。2012主题是自适应简洁主题,我的首页加载的数量不到10个,这样就能最大限度地减少加载请求等待时间,同时也减少主机服务器开销。

选择SSD硬盘主机

我目前使用的是英国主机QuickHostUK,SSD固态硬盘。固态硬盘存取速度比传统硬盘要快得多,这样可以大大减少访客等待的时间。可以预见,随着SSD硬盘价格不断下降,将来不采用SSD的服务器将被慢慢淘汰。而对网站速度有要求的应优先选择SSD硬盘。

使用缓存机制

本网站由WordPress程序搭建,本来是动态PHP程序按需生成页面。我使用了WP Super Cache插件缓存所有网页。插件在后台生成HTML页面缓存在主机上,避免访客每次访问都要动态生成HTML网页,同时也降低服务器的压力。访客访问网页时,主机就像一台硬盘一样直接给出需要的文件,同时该插件支持GZIP压缩,文件体积压缩后可以减少在网络传输中所需要的时间。

采用先进CDN

我采用了CloudFlare的CDN,它不是普通的CDN。它使用Anycast(任播)技术的DNS全球解析,最大速度减少DNS解析时间。同时CDN技术让访客从全球任何地方都能从最短物理距离的地方加载静态资源:图片,JS, CSS文件(JS文件会优化合并)。而且CloudFlare最近使用了HTTP/2协议,让浏览器不再受限于HTTP并发请求数量,即可以同时加载更多的请求。

总的来说,我使用的优化方案并不复杂,成本预算也不高,但让网站的加载速度得到了极大的优化效果,对主机服务器、访客双方都非常友好。在移动网络时代,性能和网速和PC有线环境有区别,因此网站更应该为访客提供快速的加载访问速度。

CDN升级成收费CloudFlare Pro套餐

Switzerland

从昨天开始,土木坛子启用CloudFlare的收费CDN服务Pro套餐,就当九周岁的一个礼物。

使用收费服务后,好处是可以使用收费的功能。移动设备优化,更快的DNS解析速度(英国只有8 ms)图片压缩加速,更勤快的缓存频率,共享IP的网站数量更少(以前免费账号下面同IP下面甚至有擦边球网站),HTTPS SSL证书支持更多浏览器型号——IE 7也支持了,大部分RSS订阅服务也恢复正常

应该说,CloudFlare的免费账号提供的功能其实已经够好。我只是觉得不付费,有点占人家便宜的感觉,因为我一直觉得“免费的东西经常是最贵的”,所以我之前在网站下面标注:感谢CloudFlare提供全球CDN加速。现在可以心安理得地去掉这行致谢了。交了保护费后,理论上服务总应该比免费好。

那之前为什么不加入收费套餐?原因是CloudFlare不太合理的收费制度,每个账号下面,第一个域名20美元一个月,第二个是5美元。于是,我忽悠中文博客界的土豪——赖博士加入,然后,我以第二个域名加入,那样就是5美元。

我本来就这么随便一说,没想到,他第二天就炫耀地跟我说,他三个网站都升级到收费的CloudFlare,并且还将我这个提议变成了商机,他说,谁想加入收费的CloudFlare,挂在他的账号下面,他收费10美元什么的,大家共赢……这精明的福建人,难怪成土豪,中文博客界的人生赢家。

结果,我就占了他便宜,也升级到CloudFlare收费的CDN,赖博士说:高大上。至少,在被ICDSoft踢出后,土木坛子也只能找CDN才能维持下去。

现在土木坛子在网站上每年的投入资金也不小,每个月20多美元的主机费,再加上域名、SSL证书费用,现在又用上收费的CDN。在我还有钱把它撑下去时,尽力撑下去。

赖博士说,为兴趣爱好花这点钱,比上红灯区嫖强多了,说得他好像干过那事似的……话糙理不糙,坚持写博客的男人都是好男人,那写博客的女人呢?至少能找到好男人吧。