我正在查看 Fiddler当我运行我的 Web 应用程序时,通过 Tomcat 端口传入和传出的内容。我在第一次通话时一直看到以下错误:
X-HTTPPROTOCOL-VIOLATION: [ProtocolViolation] Incorrectly formed Request-Line. abs_path was empty (e.g. missing /). RFC2616 Section 5.1.2.
正在加载的文件是index.jsp
,配置为 welcome-file
的普通 jsp 文件在 web.xml
.
此 JSP 页面和应用程序其他地方的所有其他内容都运行良好。我也没有在任何其他调用中看到此错误。
为什么会出现这个违反协议(protocol)的错误?它有多重要?我该如何解决?
我正在使用 Tomcat 8。我从 Eclipse 中启动项目,只需在此 index.jsp
上运行 Web 应用程序即可, 传递任何协议(protocol)设置。这是导致问题的原因吗?
最佳答案
嗯,错误消息准确地指出了问题。发送到 Tomcat 的请求不符合 RFC2616 中设置的绝对路径要求。 Eclipse 很可能不遵守 RFC2616。
请求很可能违反了这一点——“请注意,绝对路径不能为空;如果原始 URI 中不存在,则必须将其指定为“/”(服务器根目录)。”如果您按照在 Fiddler 中看到的那样发布 HTTP 请求,我们肯定会知道。
Fiddler 旨在完全遵守 HTTP 规范,这就是它发出此警告的原因。
关于web-services - Web 应用程序启动时违反 HTTP 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38296271/