Jon*_*der 10 python google-app-engine
在我的GAE应用程序中,我在app.yaml中有以下处理程序:
- url: /lang/strings.js
script: js_lang.py
Run Code Online (Sandbox Code Playgroud)
因此,调用/lang/strings.js
将实际映射到js_lang.py请求处理程序,该处理程序将响应填充为application/javascript
.我希望将此响应缓存在浏览器中,以便只在一段时间内调用请求处理程序(例如,/lang/strings.js?v=xxxx
当我部署新版本的应用程序时,通过导入"使缓存无效" .
对于普通的静态内容,有一个default_expiration
非常方便的元素.并导致http响应标头如下:
Expires: Fri, 01 Apr 2011 09:54:56 GMT
Cache-Control: public, max-age=600
Run Code Online (Sandbox Code Playgroud)
好的,问题是:我是否有一种简单的方法可以返回这样的标题,而无需明确设置它们?或者,是否有一个代码片段接受一些基本参数,如"天",并产生预期的http标头?
编辑2011年4月12日
我只需设置两个标题就可以解决这个问题Expires
,Cache-Control
如下所示:
import datetime
thirty_days_in_seconds = 4320000
expires_date = datetime.datetime.now() + datetime.timedelta(days=30)
HTTP_HEADER_FORMAT = "%a, %d %b %Y %H:%M:00 GMT"
self.response.headers["Expires"] = expires_date.strftime(HTTP_HEADER_FORMAT)
self.response.headers["Cache-Control"] = "public, max-age=%s" % thirty_days_in_seconds
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1449 次 |
最近记录: |