丨经许可Bokaro 开发人员鱼肉(ID:coder_yupi)
译者丨鱼肉
他们好,我是鱼肉,前段时间有老师充分反映我做的 复试刷题中文网站 (mianshiya.com)网页读取速率有点儿慢,因而我下定决心先单纯强化呵呵。
其实我只做了 1 件鸡毛蒜皮,花了一两分钟以内,就把中文网站的读取速率从 5 秒钟强化到了 1.5 秒!从天数生产成本和效用上看,这早已是两个质的脱胎换骨了。
那我到底用了甚么黑信息控制技术呢?给他们单纯撷取呵呵。
有关复试刷题网站的如是说
中文网站读取速率强化
我加进了三个控制技术,依次是 CDN 和 HTTP/2 ,这儿重点项目讲下后者。
先说说 CDN,即文本递送互联网。原先,他们的网页文档都是放在一般而言伺服器(或软件产业)上的,源自试问的大部份
一般而言伺服器阻力极重
假如伺服器机械故障,大部份采用者都将封禁(ECC)
离伺服器越近的采用者,访问速率越来越快
而 CDN 的促进作用是协助他们把原伺服器上的文档递送
因而,采用 CDN 能分担DF93伺服器的阻抗、增加网站FTP天数、为中文网站提高了很大的纠错潜能。假如前几日成都某流程用了 CDN,可能将也不能闹出交通事故了。
放一张对比互联网拓补图,一目了然:
如何给中文网站开启 CDN 呢?他们普通人是很难自己搭建 CDN 的,一般都是采用云服务商提供的 CDN 服务。像我肯定是用腾讯云了,因为我的中文网站前后端全部放在了腾讯云上,CDN 配置更轻松、回源更快速、有问题也相对好解决。
通过上图左侧的列表,他们可以看到 CDN 相关的配置是非常非常多的。
首先要配置两个 CDN 域名,一般是自己的二级域名(xxx.com)再加上 cdn / static 之类的前缀,比如:cdn.yupi.com。
然后要给该域名配置 回源地址 和 回源 HOST ,假如 CDN 还没有缓存你的文档,则会从该地址拉取源文档。回源 HOST 主要是为了告诉源站你是谁、是谁要从我这拿文档,从而返回给你正确的资源。
还能进行访问控制,比如只允许特定自己域名的网页来请求文档,从而防止文档被其它中文网站盗用,刷了你的 CDN 资源用量(扣你的钱)。
还能配置 IP 访问频率限制,能防止一般而言 IP 地址的采用者攻击你的中文网站,也能很大程度上限值流量,给自己省点钱。虽然 DDOS 还是防不住,但总比没有要好。
采用 CDN 的话,还得注意下缓存天数的设置,相对不发生变化的中文网站静态文档,缓存天数能设置长一点。而动态网页(页面文本动态更新)一般不要缓存,否则采用者看到的都是同样的文本。
这儿建议他们每次更新中文网站静态文档时,给文档生成两个随机的后缀,能防止更新网页文档后 CDN 没更新导致的采用者看不到最新网页的问题。现在很多的前端框架和打包工具一般都会自动帮你生成文档后缀了,也不用做甚么额外工作,比如我用的 UMI 框架 + Webpack 打包工具,生成的文档如下:
除了给中文网站加速外,如今的 CDN 还推出了一些派生潜能,比如:
DCDN:全站加速,不仅能加速静态资源,还能通过路由强化来加速动态文本。适用于实时性要求比较高的动态数据,能给接口加速哦~(理解不了的话就想想家里的梯子 🪜)
SCDN:安全加速,给 CDN 加上一层防护潜能,应对 DDOS、CC 等攻击。
不过 CDN 肯定是要花费生产成本的,一般是按流量计费,因而建议他们上 CDN 前先思考是否有必要。比如你的中文网站前期采用者不多、或者采用者都在你伺服器的机房里面关着,那大可不必增加一笔消费了。
我之前没做 CDN 主要也是考虑到前期规模小、不值得,但通过统计分析后发现,目前中文网站采用者早已覆盖了全国各地,还是用 CDN 好一些,给他们更好的体验。而用了 CDN 后,我的中文网站首次读取时长从 5 秒降到了 3 秒钟,不得不说,真香!
之后,在腾讯云的 CDN 配置网页,我很惊喜地发现了 HTTP/2 的开关:
HTTP/2 作为最新的 HTTP 协议,相对于现在最广泛应用的 HTTP 1.1,大幅提高了 Web 操控性,进一步增加了互联网延迟。
HTTP/2 的水可是很深的,甚么特么二进制、多路复用、数据流、伺服器主推,我是看一遍头疼一遍,后面再单独出篇文章给他们讲讲吧。现在直接用起来,快就完事!
开启 HTTP/2 后,我的中文网站读取速率直接从 3 秒提高到了 1.5 秒钟,假如不是有一些图片资源,还能更快!
以上是本期撷取,假如他们喜欢实践类的知识撷取,求点个赞 + 在看 吧,感谢他们 ❤️
1、实战!魔改swagger,knife4j的另外一种打开方式
3、Python实现经纬度换算+计算两地距离+地理可视化(代码全分享)
5、CSS 实现 Ant Design 官网 Logo 彩蛋效用
点撷取
点点赞
点在看