我最近在Go中缓存HTTP响应一直在鬼混,我试图找出生成正确的ETag的最有效方法。
现在,我有以下可用数据:
我曾经渲染模板时要渲染的模板的名称。
动态数据将传递到json响应的模板或响应中。
整个响应主体。
身体的长度。
我可能缺少的东西?
经过一番思考,我得出的结论是,如果我将模板的名称和所生成的动态数据结合在一起,则理论上应该以最少的开销创建一个合法的唯一ETag,但是我不知道如果我开始想返回价值30kb的html数据库结果。
我正在使用Go的stdlib中的crc32例程从传递给它的数据生成ETag。
有没有更好的方法来生成ETag,甚至缓存动态数据?我不能只监视文件的最后修改时间,因为数据可以更改而无需更改文件。
慕丝7291255
相关分类