低成本打造一个带宽无限的网站

前言

前些年断断续续写的,最近突然想起来,于是翻出来又补充了一些,目前整理了几篇:

  • 第 1 篇 —— 免费空间的遐想
  • 第 2 篇 —— 通过缓存防御网站
  • 第 3 篇 —— 前端代理服务
  • 第 4 篇 —— 数据流优化
  • 第 5 篇 —— 免费空间的挖掘

配图是 SVG 格式的,由于无法上传,目前放在 GitHub Pages 上。如果速度很慢或者被墙,可以开代理试试。

免费空间

自从学习网页制作那天起,就开始期待有朝一日能有个自己的网站。

尽管当时有不少免费空间,对于简单的个人网站也够用了,然而像我这样挑剔的,试用后几乎都不怎么满意 —— 要么会偷偷插些广告,这对于有洁癖的我是无法容忍的;要么奇慢无比,而我那些「炫酷」的页面充斥了大量图片和特效,也不懂得优化,所以每次传到空间后,效果总是惨不忍睹。

也许你会说,为什么非要用免费的,花钱买个好点的配置不就得了。不过那时零花钱十分有限,每天几块钱除了早饭偶尔买些书之外,所剩无几。用在网站空间上?压根就没有过这样的念头!好在有大把的时光,于是每当闲暇时,便开始鼓捣一些极(diao)客(si)的方案,尝试将免费空间变废为宝。

有次耐下心来仔细分析,发现一些空间并没有想象中那么慢 —— 如果网页只有几个字符的话,还是很快就能出现的。只是我的网页里图片太多了,光背景就是一组高清大图。。。加上各种限速,所以才会显得十分缓慢。

客观地说,这些空间不算太差,至少延时并不高,只是带宽稍小而已。

既然找到痛点,那就能对症下药了。当然,前提还是不!能!花!钱!于是被迫开启脑洞,激发各种猥琐思路:)

改进

免费空间 —— 既然是免费的嘛,一个费用是 0,一百个也是 0,为何不多注册几个呢?

然后,从中选一家「延时最低」的专门放网页,其他的则用来放图片 —— 也许你也猜到了,只要对网页做些调整,把所有的图片都改成「绝对路径」,从不同的站点分别加载。这样,就能享受好几倍的免费带宽了~

事实上有些插广告的免费空间,只会篡改网页或脚本文件,图片倒不会变化。于是这些空间就能充分利用起来~

要是脸皮厚的话,甚至还可以打起论坛、相册、网盘、图床的主意,寻找那些附件可外链、下载速度快的网站,进一步扩充免费资源的节点~

只要节点充足,带宽显然是管够的!

不过,要同时维护这么多资源,显然是很麻烦的。因此需要一套自动化工具,用于各个节点的数据同步;若要利用论坛附件,还得实现更多功能,例如自动上传、外链检测、文件名记录、列表管理、定期维护。。。

此外,前端网页也需进行改造。为了方便使用,还得开发一个 JS 脚本,对页面中的图片路径自动调整。这其中涉及不少细节,例如站点选择的算法、无效资源的切换、本地缓存的命中。。。

看起来很有趣吧,似乎是一个前端版的负载均衡:) 要是算法够好、节点够多的话,估计 CDN 都可以省了~

缺陷

当然想象总是美好的,但真要放在现实中,估计没一个网站会这么做 —— 谁会为了省一点带宽费用,把原本很简单的东西搞得这么复杂呢。

除了复杂之外,风险也会大幅增加。某些节点要是往图片里加些水印、广告之类的倒还好,要是加入些非法反动内容,那简直就得不偿失了!

况且这样滥用免费资源,感觉也不太好意思。于是简单尝试了一段时间后,觉得意义不大又麻烦,便不再折腾。

直到多年后的一天,又回想起这个方案。。。

下一篇

时间: 2024-09-17 04:10:31

低成本打造一个带宽无限的网站的相关文章

低成本打造一个带宽无限的网站(五)

突破限制 由于 SW 非常强大,因此使用条件也是非常严格的,以免被恶意使用. 例如 SW 必须在 HTTPS 站点上使用.这本是件好事,彻底杜绝了中间人的隐患,但现在却成了一道门槛 -- 毕竟支持 HTTPS 并且域名可控的免费空间,那是极少的. 同时,这还引发了另一个问题:由于 HTTPS 站点是禁止读取 HTTP 数据的,因此我们的节点也必须是 HTTPS 站点! 此外 SW 也得遵守同源策略.如果要读取第三方站点的数据,目标响应头里还得有 Access-Control-Allow-Orig

低成本打造一个带宽无限的网站(二)

网站攻击 有次在讨论网站防护时,提到一个信息发布的站点 -- 它的结构很简单,只有几个页面而已,正常情况下打开是非常快的.然而一到关键时刻,流量如同洪水般涌来.网站无法访问,那些付费发布的信息就错过最佳展现时间了. 对于网站攻击,现成的解决方案有很多,例如用上 WAF.CDN 等服务,多少能分担一些.不过,通用的防御方案,自然就有通用的攻击方案. 例如通过 DNS 实现的负载均衡,攻击者使用现成的工具,就能轻易遍历出对应的 IP.更糟的是,有时域名会缓存很久,使得攻击都快结束了解析还没生效. 对

低成本打造一个带宽无限的网站(四)

分块处理 上一篇曾提到,我们可对资源加密存储,然后在 SW 中进行解密. 理论上这当然可行,但事实上会出现一些问题:我们必须等整个资源下载完成后,才能开始解密操作.这对于用户体验,会产生很大的影响. 假如有个 1MB 的图片,通过 100 KB/s 的速度加载,那么要 10 秒后才能解密再展示:然而正常情况下,图片是边加载边显示的,并不会让用户等很久,然后一次性展示所有的. 为了解决这个问题,一个期待已久的新标准终于到来,那就是 Stream API. 有了流的支持,数据就可以渐进处理,而不必等

程序猿如何快速打造一个有设计感的网站

  像我这样的程序员来说经常被"设计"这个词吓到,因为我是一名程序员而不是设计师,我拥有的是计算机学位证,另外我对 Comic Sans 字体并不介意.(注:Comic Sans 字体是 Win95 附带的一种漫画字体,设计行业极为排斥,设计师或那些拥有美学情结的人不屑与之为伍) 虽然只是一名程序员,但我还是想让自己的网站看起来更加吸引人,一方面出于虚荣,因为这样可以显得我更加"专业",而另一方面是出于现实,因为研究机构调查发现用户会更加信任那些网站"看起

码农如何快速打造一个有设计感的网站

注:拥有属于自己的网站是很多人的梦想,但大多数人只能借助像 WordPress 这样的 CMS 实现,甚至很多公司网站也是这样.但这些网站大多数看起来都比较缺乏设计感,通俗来讲就是有点"土".那么对于像程序员以及其他对设计比较小白们来说,如何能让你的网站看起来更加前卫,有范,有设计感呢?极客公园编译了 24WAYS 的文章 How to Make Your Site Look Half-Decent in Half an Hour 为您提供解决方法. 像我这样的程序员来说经常被&quo

如何利用SEO打造一个成功的购物网站

电子商务崛起,无论是国内还是国外的互联网,都涌现出大量的http://www.aliyun.com/zixun/aggregation/7976.html">在线购物网站.竞争太过于激烈,如何让用户优先找到自己的网站.这是很多的购物网站的管理员都在思考的问题. 电子商务是与搜索引擎高度结合的一个行业,至少在目前来说是这个样子.大部分想在网上购物的用户,都会先在搜索引擎上搜索物品的相关信息,最后找到产品或服务的供应商. 根据思亿欧的调查,购物网站在互联网(指国内互联网)上面临的竞争更严峻.无

如何打造一个成功的购物网站

电子商务崛起,无论是国内还是国外的互联网,都涌现出大量的http://www.aliyun.com/zixun/aggregation/7976.html">在线购物网站.竞争太过于激烈,如何让用户优先找到自己的网站.这是很多的购物网站的管理员都在思考的问题. 电子商务是与搜索引擎高度结合的一个行业,至少在目前来说是这个样子.大部分想在网上购物的用户,都会先在搜索引擎上搜索物品的相关信息,最后找到产品或服务的供应商. 购物网站在互联网上面临的竞争更严峻.无论你的购物网站是从事销售数码.服装

教你快速打造一个有设计感的网站

对于好多程序员来说,经常被"设计"这个词吓到,因为Ta是一名程序员而不是设计师,拥有的是计算机学位证,另外对 Comic Sans 字体并不介意.(注:Comic Sans 字体是 Win95 附带的一种漫画字体,设计行业极为排斥,设计师或那些拥有美学情结的人不屑与之为伍.更多查看这篇为什么不要使用 Comic sans 字体) 虽然只是一名程序员,但还是想让自己的网站看起来更加吸引人,一方面出于虚荣,因为这样可以显得更加"专业",而另一方面是出于现实,因为研究机构

如何两个月打造一个盈利的B2B网站

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 接触网络已经7年了,行业站也做了好几个了,尝试了几个行业都没有盈利,最后结合自身的优点,因为自己在铸造行业的国家级期刊媒体呆了7年,做了七年的广告主管,毕竟自己在这个行业有一定的客户群,做铸造网应该没有问题,想好了后就开始动手了. 首先,想好域名.域名很重要,一个好的域名能够带来很大的回头客,而且名字好记,客户能一下子记住你.但是马云刚开始做