45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 电脑学院 > 服务器技术 >

Your browser sent a request that this server could not understand

电脑软硬件应用网 45IT.COM 时间:2013-06-03 11:05 作者:佚名
今天在打开网站时发现Your browser sent a request that this server could not understand错误提示,几秒之后网站又可以正常打开了,下面我来给大家介绍关于出现些问题解决办法与原因分析

错误的请求,您的浏览器发送一个请求,该服务器无法理解。
一个请求头域的大小超过服务器的限制.
简单来说,这是服务器内部错误,你可以换个网站访问

这句话大概是说:你的浏览器向未知服务器发送了一个请求。
这应该不会是病毒,感觉更像某个浏览器的控件!


错误的请求

您的浏览器发送一个请求,这个服务器无法理解。
一个请求头字段的大小超过服务器的限制。

另一个朋友的提示


这段时间在把程序部署到apache2服务器,在调试程序的时候经常出现

 

Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.

 

开始是以为P3P协议设置cookie的问题,查阅了P3P的文档,没有相关的条目。经过不懈的搜索,终于发现原来是Apache中资源使用限制的设置问题。

技术背景:

Apache中“资源使用限制”就是要限制用户对网站特定资源(如目录、服务器硬件等)的访问。相关指令包括:LimitRequestBody、LimitRequestFields、LimitRequestFieldSize、LimitRequestLine、RLimitCPU、RLimitMEM、RLimitNPROC和ThreadStackSize。LimitRequest*系列指令用来限制Apache在读取客户端请求的过程中使用的资源数量。通过限制这些值,可以减轻某些拒绝服务(DOS)攻击;RLimit*系列指令限制被Apache子进程所派生的进程使用的资源数量,通常这些指令用来控制CGI脚本和SSI exec命令所使用的资源;ThreadStackSize指令在某些平台上用来控制堆栈大小。


LimitRequestLine

LimitRequestLine指令用来限制接收客户端发送的HTTP请求行的字节数,允许服务器管理员增加或减少客户端HTTP请求行允许大小的限制。因为请求行包括HTTP方法、URI、协议版本,所以LimitRequestLine指令会限制请求URI的长度。服务器会需要这个值足够大以装载它所有的资源名,包括可能在GET请求中所传递的查询部分的所有信息。

LimitRequestFieldSize

LimitRequestFieldSize指令用来限制客户端发送的请求头的字节数,允许服务器管理员增加,或减少HTTP请求头域大小的限制。一般来说,服务器需要此值足够大,以适应普通客户端的任何请求的头域大小。一个普通头域的大小对于不同的客户端来说是有很大差别的,一般与用户配置他们的浏览器以支持更多的内容协议密切相关。

LimitRequestLine和LimitRequestFieldSize指令给了服务器管理员更大的可控性,以控制客户端不正常的请求行为。这有助于避免某些形式的拒绝服务攻击。默认值为“8190”。

解决

在Apache的httpd.conf配置文件中新增下面2行代码
LimitRequestLine 40940
LimitRequestFieldSize 40940

顶一下
(7)
87.5%
踩一下
(1)
12.5%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识