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

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

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

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

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

最佳答案

您需要一个具有更理智的 100 次连续处理的 servlet 容器(我相信 jetty 符合条件)。

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

关于http - 如何在发送请求体之前检查是否可以执行 PUT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133415/

相关文章:

java - JAX-RS REST 服务如何通过注释处理身份验证?

gcc - 为什么即使从未访问堆栈,arm-gcc 也会递减/递增堆栈指针?

http - Tomcat、HTTP、选项

http - Go Web 服务器自动重定向 POST 请求

linux - JRI REngine eval() 方法总是返回 null

arm - 使用内在函数进行 Neon 优化

assembly - 关于 ARM 指令时机

Android 3.1 Intent 过滤器主机方案问题与 http 方案

asp.net - 有没有办法确保 ASP.NET 应用程序(仅)在 HTTPS 协议(protocol)上运行?

Tomcat 6 只有 localhost 返回 200,从另一个盒子通过 IP 连接但返回 403?