Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors

简介:

错误提示:

Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors

Invalid character found in method name. HTTP method names must be tokens

问题分析:

这个问题,很多文章说是要tomcat的server.xml文件中加入 maxHttpHeaderSize="8192" 。

<Connector

port="8080"

protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443"

maxHttpHeaderSize="8192"

URIEncoding="UTF-8"/>

那么从 maxHttpHeaderSize 属性名称,我们就可以发现,是因为 HTTP 请求的头部过长导致的。

那么为什么会产生这个情况呢?

通常的原因其实是这样的:

后端给移动端提供的接口,要求使用Post方式提交,然后移动端调用的时候,却是直接把参数和值都添加到了URL后面,所以这就导致URL过长,就出现了这样的问题。

知道了问题的本质,当然你应该已经想到了解决的方法,以及上面给出的解决方法的原因。

解决方法:

1、修改 maxHttpHeaderSize 的大小

但是这个大小多大合适呢?

没有具体的大小,默认是4K,也就是4096。

多数文章给出的是8192,提高一倍按理是可以解决问题,也可能是互相借鉴的结果。

但也有文章提到的极端值是 32K,具体的数字自己计算一下吧。

2、调用端改为真正的Post提交

个人觉得这才是真正解决问题的方法;

我在实际项目中遇到此问题也是通过此方法解决的。

当然不排除有的项目确实是需要 修改 maxHttpHeaderSize 的大小来解决的。


目录
相关文章
|
Ubuntu Linux iOS开发
问题./configure: error: the HTTP gzip module requires the zlib library.处理
问题./configure: error: the HTTP gzip module requires the zlib library.处理
2634 6
|
存储 C++
UE5 C++:自定义Http节点获取Header数据
综上,通过为UE5创建一个自定义HTTP请求类并覆盖GetResult方法,就能成功地从HTTP响应的Header数据中提取信息。在项目中使用自定义类,不仅可以方便地访问响应头数据,也可随时使用这些信息。希望这种方法可以为你的开发过程带来便利和效益。
542 35
|
缓存 JSON 安全
Http自定义Header导致的跨域问题
在Web开发中,正确处理跨域问题是确保应用安全和性能的重要环节。通过在服务器端设置适当的CORS头信息,处理预检请求,并遵循最佳实践,可以有效解决自定义Header导致的跨域问题,提高应用的安全性和用户体验。理解并掌握这些技巧,对于构建高效、可靠的Web应用至关重要。
1159 11
|
数据采集 网络安全 Python
【Python】怎么解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
解决 `urllib.error.HTTPError: HTTP Error 403: Forbidden`错误需要根据具体情况进行不同的尝试。通过检查URL、模拟浏览器请求、使用代理服务器和Cookies、减慢请求速度、使用随机的User-Agent以及使用更加方便的 `requests`库,可以有效解决此类问题。通过逐步分析和调试,可以找到最合适的解决方案。
2100 18
|
数据采集 数据安全/隐私保护 Python
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
通过上述方法,可以有效解决 `urllib.error.HTTPError: HTTP Error 403: Forbidden` 错误。具体选择哪种方法取决于服务器对请求的限制。通常情况下,添加用户代理和模拟浏览器请求是最常见且有效的解决方案。
1557 10
|
存储 算法 数据安全/隐私保护
基于 HTTP Header 传输签名参数
基于 HTTP Header 传输签名参数
416 13
|
传感器 机器学习/深度学习
如何下载DVS Gesture数据集?解决tonic.datasets.DVSGesture错误HTTP Error 403: Forbidden
本文介绍了如何解决在使用tonic库下载DVSGesture数据集时遇到的HTTP Error 403 Forbidden错误,建议从Figshare的链接下载完整数据集并解压到指定目录,以便成功加载数据集进行手势识别研究。
920 1
|
Python
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
322 0
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
283 0

热门文章

最新文章