【问题标题】:How to check if PUT can be performed before sending request body?如何在发送请求正文之前检查是否可以执行 PUT?
【发布时间】:2011-05-07 05:07:04
【问题描述】:

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

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

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

【问题讨论】:

  • 迁移到码头解决

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


【解决方案1】:

您需要一个 servlet 容器,它具有更健全的 100-continue 处理(我相信 jetty 符合条件)。

我不敢相信这个澄清仍然不是 servlet 规范的一部分;我相信我在 7 年前就曾要求过它。

【讨论】:

  • 是的,jetty 提供了帮助,甚至无需更改代码。谢谢。
猜你喜欢
  • 1970-01-01
  • 2018-03-07
  • 2021-11-08
  • 2020-05-26
  • 2012-05-21
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 2022-07-22
相关资源
最近更新 更多