【发布时间】:2013-10-09 10:51:43
【问题描述】:
我实例化了一个 netty 4(使用 netty-all-4.0.9.jar)服务并通过添加 3 个 ChannelHandler 对象来初始化通道:
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast("encoder", new HttpResponseEncoder());
pipeline.addLast("handler", new MyHandler());
当使用 curl HTTP PUT 将文件发送到我的服务器进行测试时,我发现 MyHandler.channelRead 不会立即调用带有 Expect: 100-continue 标头的请求(curl 正在等待服务器以 100 Continue 回复。这意味着我的处理程序无法回复 HTTP/1.1 100 Continue 响应来告诉客户端(curl)立即启动文件的实际上传。
有趣的是,使用telnet 进一步调试此问题表明,在上传实际正文后(在收到第一个字节之后)立即调用channelRead。
关于如何正确处理带有 'Expect: 100-continue' 标头的 PUT 请求以立即触发 100 Continue 响应的任何提示?
【问题讨论】:
标签: java netty nio http-status-code-100