转载:http://wuliupo.blog.163.com/blog/static/4523259201083032242989/
今天要把一个游戏列表存放到 cookies中,列表太长,我就设法存放成多个 cookies
想不到每次客户端请求 http资源,会把cookies带上,就出现下面的错误了,真是郁闷
【COOKIE的大小限制详解】SIZE OF A REQUEST HEADER FIELD EXCEEDS SERVER LIMIT .
如果碰到Apache报错如下
Bad Request
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit .
Cookie: .....................
这一般是由于Cookie太多了,Cookie的长度和Http Server的设置有关,Apache,用这个参数调整
LimitRequestFieldSize 限制客户端发送的请求头的字节数 【默认 8190】
LimitRequestLine 限制接受客户端发送的HTTP请求行的字节数【默认 8190】
太大会降低apache的性能.
这里调整好后,你客户端的cookie就随便了,只要每个key和value的字节总和不超过5117就可以了。
原来限制cookie大小的不止是客户端,而且有服务器
每一個 Cookie 的大小不得超過 4KB。
每一個 URL 路徑,最多只能設定 20 個 Cookie