在 Django 缓存框架中,除了使用 Vary 标头来控制缓存外,你还可以使用其他标头来进一步控制高速缓存的行为。以下是一些常用的标头,以及它们在缓存控制中的作用:

1. Cache-Control: 通过 Cache-Control 标头,你可以指定缓存的行为,例如设置缓存的最大时间、是否允许缓存存储副本等。
    response['Cache-Control'] = 'max-age=3600, public'

    上述代码将缓存最大时间设置为1小时,并且标记为公共缓存(可以被中间代理缓存)。

2. Expires: Expires 标头允许你指定响应的过期时间,即缓存的有效期。
    response['Expires'] = (datetime.datetime.now() + datetime.timedelta(hours=1)).strftime('%a, %d %b %Y %H:%M:%S GMT')

    上述代码将过期时间设置为当前时间的1小时后。

3. Pragma: Pragma 标头通常用于向旧式的 HTTP/1.0 缓存系统传达指令,现代缓存控制一般使用 Cache-Control。
    response['Pragma'] = 'no-cache'

    上述代码表明不应使用缓存。

这些标头可以根据实际需求进行组合和调整。在 Django 视图中,你可以通过设置 response 对象的标头来控制缓存的行为。请注意,在使用新版本的 Django 时,务必查阅相应版本的官方文档,以获取准确的信息。


转载请注明出处:http://www.zyzy.cn/article/detail/7293/Django