背景
公司在百度上投放了广告,上面的url后面会拼接很多参数来统计来源等信息;有用户反馈,个别时候点击过去页面显示不正常,都是白屏。
过程
本地测试了一下,确实有这情况。打开控制台看到报400的错误。经验来说一般都是客户端参数有问题,但是对于一个页面的访问来说这只是个普通的get请求,说到参数也就只有url和cookie了里携带的数据而已。
‘
经测试发现当请求超长的时候会出现400的错误,但是status code里定义431才是请求头超长的code,就感觉很奇怪。于是找到后端看看是不是java在收到请求之后做了什么特殊处理。
解决
最后确定了问题,确实是Tomcat的header限制了长度,将其调整至16k就好了,但是具体为什么没有返回正确的431code码尚未知晓原因,后端也没继续配合查询。
网友评论