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

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

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

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

最佳答案
你需要一个具有更理智的100-continue处理的servlet容器(我相信jetty有资格).

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

转载注明原文:http – 如何在发送请求体之前检查PUT是否可以执行? - 代码日志