程艺的博客

记录精彩的程序人生

如何薅阿里云的羊毛

图床的由来

通常网络上个人服务器的硬盘容量是有限的,在服务器上搭建好个人网站后,如果是写博客的话,需要上传图片,而图片的文件大小通常比较大,如果全部放在本地的话,会占用比较多的硬盘资源,尽管通常以GB为单位的硬盘容量对于存储以MB来做单位的图片来说不成太大问题,但是积少成多之后,量变就会引发质变,而且如果全部图片资源都放在本地,每一次浏览博文时显示图片都要从本地读取,对于磁盘来说也是一个比较大的压力,个人主机通常没有很强的计算能力,当磁盘访问量大时势必会拖慢整个系统。因此我们需要一个专业的图片托管服务器来安置我们的图片,也就是网络上通常说的图床

图片是如何从图床显示到网站页面上的

对于开启公网访问端口的服务器来说,资源是共享的,没有你的我的之分,任何一台服务器只有知道对方的公网IP地址都可以通过HTTP协议来获取到对方服务器上存储的公开资源。好了,我讲完了。

呃呃,当然不能就这么结束,尽管上面的话已经拥有了全部的要素,但还是得细致解释一下。提供图床服务的网站会把你的图片资源保存在它的服务器的公开资源里,然后给你一个图片访问链接。你把这个图片访问链接通过要求的格式放在你的博客文章中。读者在访问博客时,得到HTML页面,页面中有你的图片链接,浏览器解析这个图片链接,将图片直接从图床网站下载到读者的本地缓存中,呈现在浏览页面上。这个过程中你的博客完全没有进行任何和图片格式相关的工作,只是提供了一段链接而已。

如何薅羊毛

了解了图床的工作原理后,就可以知道,如果博客需要引用一个网络上已经存在的图片资源,根本不需要转存到服务器磁盘上,只要获取到那张图片的链接就行。

在中国,正规网站域名都需要经过备案后方能正常使用。备案分两种,一种是工信部备案,一种是公安备案。备案完成后需要把备案号放在网页底部显示出来,大家可以留意一下各大网站是不是这样的。其中公安备案还要放一张警徽的图片上去。公安网站要求的是把警徽图片下载下来放在自己的服务器上,但是经过刚才的讲解我们就知道可以利用现成的资源。

阿里云是优秀的服务器提供商,它的服务器上肯定存着这张图片,我们只要找到链接就行。把阿里云网站的主页页面翻到底,就看到了那张图片,使用浏览器的检查元素功能就可以提取出它的链接了。

这里我们也要提一下,很多网站是不希望自己的资源在未经许可的情况下被别人以链接的形式获取过去的,这样会增加自己服务器端开销。这种未经许可的获取链接行为称为盗链。因此很多网站会推出防盗链措施,通过技术手段使得自己服务器上的资源只能在自己服务器上被访问到。而阿里云主页底部的这张图片并没有部署防盗链措施,因此我们可以直接将它的链接放到博客上用于显示。本博客底部的警徽图片正是这样得到的。

留下你的脚步