开发者社区> 问答> 正文

阿里云存储OSS之九大使用技巧之三:满足特定条件时才传输数据

IMS(If-Modified-Since)参数是HTTP协议中,经常被用到的一个参数。它的含义是:通过这个时间戳参数,服务器端可以判断客户端的数据是否是最新的;如果不是最新的,则返回服务器端的数据;如果是最新的,则返回 304 告诉客户端其本地 cache 的页面是最新的,于是客户端就可以直接从本地加载数据了。这样在网络上传输的数据量就会大大减少,同时也减轻了服务器的负担。
包括IMS在内,OSS共支持四种条件传输参数。只有Object的属性满足客户端给出的条件时,OSS才传输Object的数据。这四个参数是:
l  If-Modified-Since
l  If-Unmodified-Since
l  If-Match
l  If-None-Match


If-Unmodified-Since的含义和If-Modified-Since正好相反:如果内容没更新,则返回数据;否则返回HTTP状态码304。If-Unmodified-Since和If-Modified-Since这两个参数可以一起使用,以指定一个时间窗口。例如:


headers  = {}  
headers[‘“If-Modified-Since’] = “Sun, 22 Apr 2012 09:06:23 GMT”  
headers[‘“If-Unmodified-Since’] = “Sun, 22 Apr 2012 09:16:23 GMT”  
res =  my_store.get_object (bucket_name, object_name, headers)

If-Match、If-None-Match这对参数与If-Unmodified-Since、If-Modified-Since参数的含义类似,只是参数不是时间戳,而是内容的MD5值。利用好这四个参数,可以节省大量的流量,也就是可以节省很多money。        

展开
收起
newegg11 2012-08-22 17:45:45 10068 0
3 条回答
写回答
取消 提交回答
  • Re阿里云存储OSS之九大使用技巧之三:满足特定条件时才传输数据
    技术贴必须顶
    2012-08-29 03:30:34
    赞同 展开评论 打赏
  • Re阿里云存储OSS之九大使用技巧之三:满足特定条件时才传输数据
    很实用的教程啊,不得不顶了
    2012-08-23 11:02:21
    赞同 展开评论 打赏
  • 你是我的偶像
    2012-08-22 21:59:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载