1

HttpServletResponse.setHeader 方法应该如何处理 null 值,如下所示:

response.setHeader("ETag", null);

在实现 Servlet 接口时,我对此有点困惑,因为Java Servlet 规范对此并不清楚。

我想我可以选择其中之一:

  1. 将 null 视为空字符串“”。将 ETag 标头的值设置为“”。
  2. 没做什么。
  3. 抛出异常。

在实践中,Tomcat 的实现只是忽略。而netty,即使不是Servlet实现,也会抛出NullPointerException。

4

1 回答 1

0

根据 W3C 规范,ETag 值必须用双引号引起来。您可以选择“什么都不做”选项,或添加符合规范的实体标签标题

ETag: "some-etag-value"
于 2013-07-30T09:21:42.390 回答