web-services - Web 应用程序启动时违反 HTTP 协议(protocol)

标签 web-services jsp http tomcat fiddler

我正在查看 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/

相关文章:

angular - 如何修复 DOMException : "The URI is malformed." in Angular 6 running HTTP?

java - JSP 生成 .xml 文件

java - Android webview输入类型文件

http - 如何从网站获取提要 URL?

.net - 客户端和服务器之间的安全双向通信,包括大文件附件

javascript - 在 keypressup 事件中按下单个键时,textarea 打印两个字符

java - Servlet 映射问题 - 我做错了什么?

javascript - 检查jquery `success`方法参数问题

javascript - "Origin null is not allowed by Access-Control-Allow-Origin."使用 jQuery 调用 Web 服务时出错

c# - 如何为 "Auth-Token"的 Web 服务添加 token 认证?