zhongxia245 / work-faq

汇总工作中常见问题的解决方案,技术相关。
1 stars 0 forks source link

【webview】400 Bad Request Request Header Or Cookie Too Large #11

Closed zhongxia245 closed 4 years ago

zhongxia245 commented 4 years ago

有一些用户(无法复现)在 webview 打开 url 一直报这个错误400 Bad Request Request Header Or Cookie Too Large

现象

image

可能原因

  1. 可能是你的网络DNS配置错误。
  2. 由request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起的。
  3. 访问太频繁,浏览器的缓存量太大,产生错误。

解决方案

1、清理浏览器的cookie记录,和缓存文件,重启浏览器就好了。

  1. 打开360安全卫士,选择系统修复,选定电脑门诊,修复即可;或者选择电脑清理,清理下系统中的垃圾文件。

  2. 你可以右击网上邻居-属性-找到你的本地连接-右击属性-常规选项卡里有个下拉此连接使用项目,选择INTERNETF协义(TCP/IP)下面点击属性选自动获得,最好查一下当地的DNS填进去,如果是局域网你可以在主DNS上填写你的网关地址,如192.168.1.1或192.168.0.1

  3. 采用nginx服务器的话修改方法:

/usr/local/nginx/conf

在这个路径下面,修改nginx.conf

http {
    include  mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 16k;  //这里默认是4K,改大一点就好了
}

学习文章

zhongxia245 commented 4 years ago

出现这个问题,还没有到前端页面。 但是发现这个问题的人,会来找前端,告诉你页面打不开,这个时候,你就可以告诉他们可能是什么原因,应该这么去解决了。

当然直接说,这个不是前端的问题,找后端去,也是可以的。

这个问题,通常是客户端 webview 出现的问题,原因在于客户端获取 cookie 内的东西,往请求头上写,并没有判断是否 cookie 会很大,然后到知该问题。 根源上解决需要客户端处理。