为有版本信息的静态文件提供不同的过期时间

标签:Google App Engine

刚才在Engaging User Experiences with Google App Engine里发现了一个为有版本信息的静态文件提供不同的过期时间的方法,感觉很新奇,便放出来分享下。

静态文件因为很少更改,所以一般会加上过期时间。但偶尔还是会更改,所以不能设置得太长,不然浏览者一直都只能获取老版本。
而如果有版本号的话,例如jQuery-1.3.2.js这种文件名,它是永远不会更改的,因此可以设置一个很长的过期时间,例如10年。

下面这个app.yaml的配置就巧妙地区分了2者:
- url: /(js|css|img)/(.+)\.\d+\.\d+\.(js|css|png|gif|jpg)
  static_files: static/\1/\2.\3
  upload: /\1.*
  expiration: '3650d'

- url: /(js|css|img)/(.*\.(js|css|png|gif|jpg))
  static_files: static/\1/\2
  upload: static/\1/\2

0条评论 你不来一发么↓

    想说点什么呢?