IE浏览器向来是前端开发者的噩梦,今天遇到一个问题就是在IE浏览器中的cookie无法读取,无论是在前端还是在后端服务器Request中都无法读取Cookie,找了好久才发现问题,原来是IE中Cookie总的大小超出了浏览器所规定的限度,然后虽然可以在浏览器中看到cookie,但是却取不到cookie。
浏览器对于同一个域名的cookie数是有限制的,各浏览器限制如下:
IE cookie限制为每个域名50个
Firefox每个域名cookie限制为50个
Opera每个域名cookie限制为30个
Safari/WebKit没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生
不同浏览器不仅cookie的个数有限制,而且浏览器cookie总的大小也是有限制的,cookie的长度超出了浏览器的限制就会导致取不到cookie的值,各个浏览器的cookie总大小限制如下:
Firefox、Safari允许cookie限制为4097个字节,包括名(name)、值(value)和等号
IE浏览器限制cookie总大小为4095个字节,包括:名(name)、值(value)和等号
Opera限制cookie总大小为4095个字节,包括:名(name)、值(value)和等号
以上就是关于cookie大小超出长度导致取不到值的原因。