Java:正确引用 ETag 的例程?

Java: routine for proper ETag quoting?

是否有任何方法已经为 http headers 实现了正确的 ETag 引用?

正如 Syntax for ETag? 中指出的那样,正确的方法并不像在其周围加上双引号那么简单。

找不到任何明显的东西。

这有点误导。引号是 ETag 的组成部分,因此没有从 "unquoted ETag" 到 "quoted ETag" 的过渡。

如果您想要的是一种包含 ETag 中不允许的字符的方法,您只需发明一种自定义转义语法即可。哪个并不重要,因为您的服务器正在生产和消费它们,并且对于客户端来说它们是完全不透明的。

该答案基于先前版本的 ETag 规范。当前的 (RFC 7232) 明确禁止在不透明的 ETag 中使用双引号字符。

所以假设您的 ETag 的不透明部分根据 RFC 7232 是有效的,它真的就像在它周围加上双引号一样简单。

但是,我建议您不要这样做,而是要求提供 ETag 的人包含双引号。那是因为它们是区分弱 ETag 所必需的。没有它们,您将面临更复杂的 API,或者更常见的是,根本无法指定弱 ETag。