0

我正在编写自己的静态 Web 内容交付例程。对于缓存,我计划在 URL 中包含哈希值,例如

/static/file.MD5HASH.png

我正在使用静态的编译语言进行开发。我读了 https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#cachedstaticfilesstoragehttps://gist.github.com/3207357

现在我的心理问题是如何有效地确定文件的哈希值?我不会在每次向服务器请求时计算哈希值。所以我需要一些缓存。

我可以编写一个帮助程序,它采用静态内容的路径,递归计算哈希并将结果存储为

文件名.png 哈希

在一个名为 .cache.hash.lookup 的文件中。该文件在 Web 服务器启动时加载并在每个请求上声明,因此当即将提供静态文件时,它将在缓存中查找它,如果缓存已过时,则重新加载缓存。

这可行吗?请我不需要建议如何使用框架 X 来完成它,因为我想理解它并编写自己的例程。

4

1 回答 1

0

阅读您的链接,想法是存储同一资源的多个版本,因此在插入新文件时会向文件名添加哈希。

您的 HTTP 服务器可能很笨,只按名称查找文件。(我看到的另一个优点是您可以盲目地用“304 Not changed”响应任何条件请求,因为文件名中的哈希值充当 etag。)

还是我错过了什么?

于 2012-12-18T15:48:46.080 回答