我遇到了一个奇怪的问题:有时HTTP消息请求目标(完整路径后跟?和查询字符串)在到达我的Tomcat服务器控制器之前被切断为正好4095个字符。
请求已在Tomcat的访问日志中被切断。
它不会一直发生,我可以在Tomcat的访问日志中轻松查看更长的消息。因此,我认为这不是服务器问题。
一个重要信息是URL是动态生成的,并使用HEAD元素上的appendChild Javascript方法注入页面。
用户浏览器和Tomcat服务器之间没有HTTP感知组件(例如,没有7级负载均衡器)。
我虽然这可能是一个浏览器问题。发生这种情况时,一个常见的用户代理是' Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 63.0.3239.132 Safari / 537.36',显然是Chrome63在Windows10上。我尝试使用这样的设置重现它,但没有成功。
在问题可重现的另一台机器上,我可以在使用开发工具检查页面时看到完整的URL。
有人遇到类似的问题吗?什么可以削减URL?
更新:它不是HttpRequest maximum allowable size in tomcat?的副本。我在访问日志中看到更长的URI并且它们工作正常。此外,我测试了减少最大标头数量,我可以很容易地看到更长的URI通过。