阿里OSS:好处就是,那是一套完整的体系,存储,数据库,CDN,服务器,阿里都可以给你全包。缺点,费用对于没有盈利的网站来说太高了,好像定位就是给那些高端客户使用的,而且CDN,OSS的流量是分开收费,带宽(2倍成本,呵呵)。
又拍云:算是老牌静态存储服务商,自带有CDN。存储空间可以弹性增加(不知道可不可以弹性减少,我只是免费使用了一下)。费用计算公式(空间和流量),请求次数是免费。可免费试用7天。开源的程序(DZ,PW,WP)都有插件,也可以直接使用FTP,对于技术上要求不是太高就可以使用。
七牛:10GB永久免费存储空间,每月10GB下载流量,10万次Put请求,100万次Get请求,对于新用户来说,非常友好。价格方面,比阿里OSS稍微便宜一点。技术使用方面,开源API对于每种语言都有,但对开源程序,似乎没有官方的插件。
总结:三种空间图片加载速度都差不多,阿里稍微快一点点,可能是我主站放阿里的原因。价格对于大站价格都差不多,小站,用七牛是最划算的。又拍云是性价比最高的。
说的不对的地方欢迎指正,谢谢。
----------------------------------------------------------------------------------------------------------------
结论:
阿里云存储
七牛云存储
标准:REST、HTTP
99%符合
50%
基本功能:送二级域名、绑定域名、CDN
支持
自定义文件HTTP header
少量支持
高级服务:图片处理
不提供
很完善地提供
收费策略
收费
小流量免费。大流量收费。
官方PHP SDK
差,依赖亚马逊http库,而不是PHP官方PEAR HTTP_Request2
差
在国内的VPS服务器厂商中,阿里云做的很好,所以项目倾向于使用阿里云开放存储服务(aliyun OSS)。
把阿里云存储官方混乱的PHP SDK 重写成PEAR,然后作为apk下载使用。
然后想把图片服务器也迁移到云存储,这样不占用VPS带宽。这时候才发现 阿里云OSS 只有最简单的文件存储功能,不支持图片处理。
比如图片服务器最常用的功能:
1、上传一张原图,实时自动生成任意分辨率的各种图片
比如原图
http://example.com/2.jpg
然后请求任意分辨率,请求时服务器自动生成并输出,比如
http://example.com/2.jpg?resolution=1280x720
2、格式自动转换
比如http://example.com/2.jpg?format=png
由于阿里云存储不支持图片功能,所以不能用了。考虑迁移到七牛。
参考七牛官方PHP SDK,重写成PHP PEAR包,发现七牛API不是REST。
API对比如下:
上传文件
HTTP PUT 资源URI
HTTP POST up.qiniu.com
删除文件
HTTP DELETE 资源URI
HTTP POST rs.qbox.me
认证
HTTP header Authorization
一会儿使用HTTP header Authorization,一会儿使用POST token
阿里云存储 API CURL demo:
上传文件:
删除文件:
七牛云存储 API CURL demo:
上传文件(可以看出七牛把bucket放在token认证中,技术上导致七牛无法实现“公共上传”):
可以看出:阿里云存储在技术上比较严谨,使用标准REST。七牛有的地方不再使用token,使用了HTTP header Authorization,可能正在改进。
图片功能对比如下:
自动生成任意分辨率
无
自动生成任意格式
webp
支持,可节约app大量流量
七牛的图片demo:
阿里云和七牛的PHP SDK都一样不规范,没法用,只能重写。我重写好了,在这里:
阿里云存储1%不符合标准的地方:
自定义HTTP header使用了小写,不符合HTTP常识。比如阿里云使用x-oss-acl是错误的,应该使用X-Oss-Acl。
如何联系我:【万里虎】www.bravetiger.cn
【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起)
【博客】http://www.cnblogs.com/kenshinobiy/