【问题标题】:Content-Type all of a sudden goes missingContent-Type 突然不见了
【发布时间】:2011-07-21 19:43:27
【问题描述】:

最近在不同的 RedHat 5/Tomcat 6 服务器上运行的两个旧版 Struts 应用程序出现了一个非常奇怪的问题。一些简短的细节:

  • App 1 是前端应用程序
  • App 2 是一个辅助应用程序,用作文件存储系统
  • App 1 有一个上传表单,它转发给 App 2
  • 当上传发生时,应用 2 期望 multipart/form-data 成为 Content-Type 的一部分

上传会在一段时间内正常工作,但会突然失败。当我查看日志时,App 2 报告 Content-Type 丢失,因此无法处理上传请求。此外,一旦丢失,它就不会再次出现。从那时起,所有上传尝试都将失败,更奇怪的是,解决此问题的唯一方法是重新启动托管 App 1 而不是 App 2 的 Tomcat。

其他怪事

  • 实现上传功能的代码在一年多的时间里没有改变
  • 使用 Wireshark (tshark) 嗅探 TCP 数据包
    • 从 App1 发送的 HTTP 请求中正确填充的 Content-Type
    • 尽管 Wireshark 报告格式错误的数据包,但 Content-Type 存在于 App2 上收到的 HTTP 请求中

任何想法为什么会发生这种情况?

【问题讨论】:

    标签: java struts tomcat6 content-type redhat


    【解决方案1】:

    我怀疑 App1 上存在某种状态更改,导致它不再使用对 App2 的请求中的 Content-Type 标头。没有看到代码,任何人都无法告诉您更多信息。

    【讨论】:

    • 您能详细说明一下您所说的状态变化是什么意思吗?
    • 当然,我的意思是有一些变量或逻辑在多个请求中持续存在,这导致 Content-Type 标头在设置为特定值(或可能未设置)后丢失。 en.wikipedia.org/wiki/Program_state
    猜你喜欢
    • 1970-01-01
    • 2020-02-18
    • 2019-11-20
    • 2014-04-28
    • 2023-03-03
    • 1970-01-01
    • 2014-08-05
    • 2018-01-19
    • 1970-01-01
    相关资源
    最近更新 更多