服务器小宽带不要怕,阿里云cdn让你体验前所未有的快感

前言:
阿里云1核2G1M宽带的服务器,想必是我们这些穷屌丝的首选,面对日渐增大的流量,和脚本小子扫描,感觉有点力不从心,如何让一个小服务器用最低的成本,让访问速度有一个质的飞跃....

正文:
对cdn一直不太理解,感觉除了隐藏ip,没有什么大的作用,那是我初期对cdn一个肤浅的认识。当前阿里云做活动,买了三年cdn加速,100G个流量,直到现在还没用完,cdn既然是一种趋势,那就研究一下呗!

CDN的全称是Content Delivery Network,即内容分发网络。现在我也总算明白点这个意思了,浅显易懂的解释就是:cdn就是有全国各地的许多服务器组成,他们会分别抓取你网站内容,然后根据不同区域的用户,用离这个区域最近的服务器展现出来,可以大大的减少服务器的压力!

我理解的整个流程大概如下:

如果设置的cdn缓存没有过期,用户访问网站,会直接通过cdn缓存的内容,展现给用户,完全脱离了你的服务器,如果缓存过期,cdn会去你服务器获取内容,然后转发给用户(貌似就是所谓的回源).

用python来做一个伪代码描述一下:
#! /usr/bin/env python
#coding=utf-8
#bugscaner的伪代码
import requests
if cacheexpired:
    response = requests.get("http://www.bugscaner.com/")
    return response
else:
    return response

如果频繁回源,那么cdn加速感觉用处就没那么大了,所以要合理的设置一个cdn缓存时间,之前使用cdn直接cname解析完,就完事了,导致频繁回源,现在想想 自己真实蠢!白白浪费了cdn的强大设置功能!

说到cdn设置,首先要说两个概念:cdn缓存配置和http文件头   Cache-Control  这两个东西曾经搞的我一头雾水.现在终于明白了。打个简单的比方

假如你去相亲,双方见了面,不管女方喜不喜欢你,既然见了面,你都想跟他加个微信,双方加了好友,一夜无话,第二天醒来,感觉合不来,他把你拉了黑名单,你在他的微信里缓存了一天!在这一天时间里,你们无论再怎么见面,都不用再加好友了,因为已经缓存了,这就是Cache-Control浏览器缓存,这个缓冲,是缓存到了对方浏览器里,

而cdn缓存 呢?同样例子
cdn就是众多的媒婆,你就是单身汪,然后想让媒婆给介绍对象,双方约定好,每12个小时(设置的cdn缓存时间)让媒婆来一趟(回源),这些媒婆遍布全国各地,他们拿着你的微信,让那些女生加你为好友,但是第二天你的账号被封了,又换了一个,这个时候和媒婆约定好的12个小时还没到,而你又迫切想要告诉她微信号变了,那么你需要主动联系媒婆(手动刷新告诉cdn你内容更新了),告诉媒婆你的微信号换了,然后媒婆从你这得到了最新的微信号,然后再下发!

这两个例子说的勉强,再用白话文说一下:
Cache-Control 是缓存到浏览器里面的,如果有个访客,从来没有访问过网站,那么第一次访问,会在他的浏览器缓存静态资源,当他下一次再访问你网站的时候,如果Cache-Control 没有过期,会直接从浏览器缓存读取内容,就无需再从你网站请求这些文件,大大的减少了网站的压力. Cache-Control设置多大比较合适呢?个人感觉如果是不经常更新的内容,比如一个css文件,网站建成之后,就从来没修改过,那么就可以设置缓存为一个月,一年,10年,只要你敢想,100年也可以的!前提就是这个文件,你不需要改动! 如果文件改了,而设置的缓存又不过期,那么需要强制刷新浏览器缓存,才可以!

cdn缓存同理,缓存的时间就是回源的时间,如果不经常更新的静态资源,设置的越大越好,如果更新的文件较少,也可以在后台手动刷新url!

说了这么多,我都有点蒙圈了,在想,我在写什么?我在哪里?我在干什么?
来两张实惠的截图,来结束这篇没头没尾的文章把!









比这葫芦画票会吧?

您可能还会对下面的文章感兴趣: