badrequest(requestheadertoolong)
问题:访问客户网站出现以下异常
解决问题: 在IIS官方论坛的帖子HTTP 400. The size of the request headers is too long中得知,这个错误是Http.sys返回的,请求头长度限制是由注册表HKEY_LOCAL_MACHINESystemCurrentControlSetServicesHTTPParameters中的两个参数决定的:MaxFieldLength与 MaxRequestBytes,缺省值都是16384字节,详见Http.sys registry settings for IIS。由于修改这两个设置需要重启IIS,并且只是表面上解决问题,所以我们没有立即采取这个方法。又回过头来在Chrome中查看请求头,突然发现cookie的值好长。
进一步查看cookie
很多cnzz_eid,这是cnzz统计代码产生的,我们检查了一些会产生"Bad Request - Request Too Long"的页面,的确有些加了cnzz的代码我们手动在Chrome中删除了一些带有cnzz_eid的cookie,问题就解决了。当IIS返回"Bad Request - Request Too Long. HTTP Error 400. The size of the request headers is too long."的错误时,说明客户端发出的请求头长度超出了Http.sys的限制。
"HKEY_LOCAL_MACHINESystemCurrentControlSetServicesHTTPParameters"中的两个参数MaxFieldLength与MaxRequestBytes决定的,默认值是16384字节
看完这个我想就是cookie的事呗,那就把COOKIE删掉不就行了,因此我就删COOKIE;在打开一个新浏览器,没问题了。