各浏览器中cookie限制
2010年03月19日 | JavaScript
| Firefox(3.6) | Opera(10.x) | chrome(5.x) | IE6 | IE7/IE8 | |
|---|---|---|---|---|---|
| 最多key个数 | 50个 | 30个 | 53个 | 20个 | 50个 |
| key个数超出时 | 随机删除旧的 | 先进先出方式删除旧的 | |||
| 单key字节数① | 4097 | 4051 | 4051 | 4096 | 5072 |
| 单key字节超出时 | 不进行写入操作 | ||||
| 总字节数限制② | 204850 | 4997 | server端控制(见注2) | 4096 | 10239 |
| 总字节超出后 | 不写入新的 | 400 Bad Request | cookie无法读写 | ||
- 注①:包括key及value,以及分号、等号
- 注②:总字节数也受HTTP Server的设置影响;
Apache用这2个参数调整:
LimitRequestFieldSize 限制客户端发送的请求头的字节数 【默认 8190】
LimitRequestLine 限制接受客户端发送的HTTP请求行的字节数【默认 8190】
当cookie超出Server的设置大小后会出现400 Bad Request
结论:我们应该保证cookie key数量<=20,单key字节<=4000b,总字节数<=4000b
但我们应尽量减少cookie的大小,以获得最优页面加载速度。见"When the Cookie Crumbles“


1 条留言