一个简单的Django中间件,确保POST请求不会被客户端缓存。
项目描述
django-postleware
一个简单的Django中间件类,它会在POST响应上注入一个 Cache-Control: no-cache 标头。
安装
pip install django-postleware
将中间件添加到 settings.py
MIDDLEWARE_CLASSES = (
'postleware.PostResponseCachebusterMiddleware',
# ...
)
为什么?
Mobile Webkit(iOS4+和Android默认浏览器)有一个bug,导致它会在显然不应该的情况下缓存类似的POST请求。它不会只缓存带有特定 Cache-Control 标头的请求,而是相反,除非POST响应中包含 no-cache 值,否则会缓存请求。
不起作用吗?
请通过打开一个问题或拉取请求来告诉我。这对我来说已经足够了,但我在网上看到其他开发者需要在响应中添加额外的标头才能停止缓存。