我想覆盖 Etag 查找,因为显然它们会减慢页面速度,因为每个请求的延迟都很大!
过期标头似乎不起作用...
有任何想法吗?
在视图的响应对象中,您可以将 设置ETag
为您喜欢的任何内容。这要求您正在使用CommonMiddleware
并USE_ETAGS
设置为True
.
但是,如果您真正想做的是根本不调用视图,为什么不使用缓存装饰器并缓存结果呢?
我希望人们会问一些问题,说明他们正在运行的 apache 版本。这很快就会让人感到困惑。查看 FileETag 指令(至少对于 apache 2.0 和 2.2)。
FileETag none // 不会为文件生成和 ETag
每个请求都很大!
除非您在 apache 安装或非常奇怪的文件系统上有一些非常时髦的自定义补丁,否则生成 eTAG 的工作不依赖于文件的大小 - 默认情况下,Apache 使用 inode 编号、mod 时间和大小。
通常条件请求实际上会大大降低站点速度 - 并且应该避免(最好通过剥离 if-none-match / if-modified-since 请求标头)。有一次不是这种情况是您发布非常大的文件(例如视频、PDF)。如果您无法修改请求标头(例如,使用 Apache<2.0),那么您需要从响应中删除 ETag 和 last-modified - 或定期刷新文件中的时间戳。
'Expires' 标头是一个 HTTP/1.0 指令 - 那里发生的 HTTP/1.0 流量非常少 - 通常来自通过代理工作的配置错误的 MSIE6 浏览器)。您应该发送 Cache-Control 标头。