apache是​​否对cookie大小有限制?

应用程序错误导致我们设置一个太大的cookie。

客户得到一个错误,发生在我们的应用程序正在执行(mod_python)之前。

在apache中有没有可调节的限制,可以有多大的cookie头?

在apache错误日志中,我看到: request failed: error reading the headers

请参阅Apacheconfiguration中的LimitRequestLine指令 。 默认值是8190,所以比这更大的值有可能导致问题。

该指令设置HTTP请求行允许的字节数。

LimitRequestLine指令允许服务器pipe理员减less或增加客户端HTTP请求行允许的大小限制。 由于请求行由HTTP方法,URI和协议版本组成,因此LimitRequestLine指令对服务器上请求所允许的请求URI的长度进行了限制。 服务器需要这个值足够大以容纳其任何资源名称,包括可能在GET请求的查询部分中传递的任何信息。

此指令使服务器pipe理员可以更好地控制exception的客户端请求行为,这对于避免某些forms的拒绝服务攻击可能是有用的。

我相信这是网页上所有cookie的总和的限制,而不仅仅是一个单独的cookie(虽然不是正面的)。 但是一个网站的所有cookie都是使用一个请求头传输的,所以如果网页上有足够的cookie,并且总和超过了LimitRequestLine指令的值,就会出现问题。

您可以使用在单个cookie中存储多个值的插件。

https://github.com/pavelkukov/localdata

获取请求的大小的Apache默认限制是8k – 两个完整的cookie。