【发布时间】:2015-07-08 11:08:51
【问题描述】:
RFC 2616 - “所有 1xx(信息)、204(无内容)和 304(未修改)响应不得包含消息正文。”
从 JBoss 5.1 升级到 WildFly 8.2 后,负载均衡器(用 Netty 4.0 编写)坏了。
原因 - WildFly 在 304 错误上发送带有消息正文的响应:
<html><head><title>Error</title></head><body>Not Modified</body></html>
根据 RFC 2616 的 Netty 仅读取 304 的标头,但忽略不为零的 Content-Length 和套接字中的左侧正文,因此我们在第二次从同一通道读取时出错。
我可以通过将 response.sendError(304) 更改为 response.setStatus(304) 来解决这个问题,但想知道,是否可以将 WildFly 配置为在 304 Not Modified 错误时不发送消息正文?
【问题讨论】: