如何在发送请求体之前检查PUT是否可以执行?

时间:2010-11-09 12:04:07

标签: http tomcat6 neon http-status-code-100

注意:我们在客户端使用lib_neon,在服务器端使用Tomcat和servlet api。

问题在于:当客户端想要放置一些内容时,它会执行带有“Expect:100-continue”标头的PUT请求,Tomcat通过简单地返回状态100 Continue来处理它,之后客户端开始发送剩余的内容请求的一部分,它由我们的自定义过滤器处理,并且通常不会通过(例如用户未经授权,或尝试放置过大的文件,超出用户限制或其他内容)。过滤器会立即发送错误响应,但客户端仅在提交完整请求主体时才读取响应。

似乎不可能手动发送一些东西而不是100 Continue状态,​​当某些检查失败时,这种行为被硬编码到tomcat中,还有其他方法不上传请求体,当它不可能时?

1 个答案:

答案 0 :(得分:6)

你需要一个具有更理智的100-continue处理的servlet容器(我认为jetty符合条件)。

我无法相信这个澄清仍然不是servlet规范的一部分;我相信我要求它像7年前一样。