浏览器 cookie 限制

一、浏览器允许每个域名所包含的 cookie 数:
Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 个 cookie(《Update to Internet Explorer's Cookie Jar》)。 
Firefox 每个域名 cookie 限制为 50 个。 
Opera 每个域名 cookie 限制为 30 个。 
Safari/WebKit 貌似没有 cookie 限制。但是如果 cookie 很多,则会使 header 大小超过服务器的处理的限制,会导致错误发生。 
注:“每个域名 cookie 限制为 20 个”将不再正确!

二、当很多的 cookie 被设置,浏览器如何去响应。除 Safari(可以设置全部cookie,不管数量多少),有两个方法:

最少最近使用(least recently used (LRU))的方法:当 Cookie 已达到限额,自动踢除最老的 Cookie ,以使给最新的 Cookie 一些空间。 Internet Explorer 和 Opera 使用此方法。 
Firefox 很独特:虽然最后的设置的 Cookie 始终保留,但似乎随机决定哪些 cookie 被保留。似乎没有任何计划(建议:在 Firefox 中不要超过 Cookie 限制)。 
三、不同浏览器间 cookie 总大小也不同:

Firefox 和 Safari 允许 cookie 多达 4097 个字节, 包括名(name)、值(value)和等号。 
Opera 允许 cookie 多达 4096 个字节, 包括:名(name)、值(value)和等号。 
Internet Explorer 允许 cookie 多达 4095 个字节, 包括:名(name)、值(value)和等号。 
注:多字节字符计算为两个字节。在所有浏览器中,任何 cookie 大小超过限制都被忽略,且永远不会被设置。

(0)

相关推荐

  • 获取IE浏览器Cookie信息的方法

    很多人不知道如何去获取IE浏览器中的Cookie信息,其实获取Cookie的方式很简单,只需要调用InternetGetCookie这个API就可以获得了. InternetGetCookie的声明方式如下: Private Declare Function InternetGetCookie Lib "wininet.dll" Alias "InternetGetCookieA" (ByVal lpszUrlName As String, ByVal lpszCo

  • JavaScript检测浏览器cookie是否已经启动的方法

    本文实例讲述了JavaScript检测浏览器cookie是否已经启动的方法.分享给大家供大家参考.具体分析如下: JavaScript检测浏览器cookie是否已经启动,代码稍显复杂,通过写入一个测试cookie判断cookie是否已经启动 var dt = new Date(); dt.setSeconds(dt.getSeconds() + 60); document.cookie = "cookietest=1; expires=" + dt.toGMTString(); var

  • python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法

    首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件 Httpfox 获取 GET 请求的Cookie,这里注意使用状态值为 200(获取成功)的某次GET. 将 Cookies 复制出来,注意这一行非常长,不要人为添加换行符.而且 Cookie 中使用了双引号,最后复制到代码里使用单引号包起来. 使用下边代码检验是否是模拟了登录的用户的请求: import requests import re headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT

  • 实测各浏览器cookie的name个数及最大容量限制

    测试代码 复制代码 代码如下: for(var ii = 0; ii< 5000;ii++){ if (!window.ia) window.ia=0; window.ia++; var s = 'a'+window.ia+'='; for (var i = 0; i < 4000;i++) s+='' +parseInt(Math.random()*10); s+= ';'; //alert(s.length); document.cookie = s; } 经过测试(ie10,firefo

  • IE8 浏览器Cookie的处理

    Cookie的处理 之前就遇到过IE8处理Cookie的问题,就是在某网站上用IE8登陆,一登上去,切换个页面又需要登陆才能发表.问题就是登陆的cookie信息,IE8不接受.在网上看了很多朋友体提到这样的问题,都是说在登陆论坛的时候,要重复登陆,IE8无法读取cookie.呵呵,最后自己仔细查了下IE8相关文档,呵呵,其中说IE8的安全设置提高了,只读取有明确域名标识的cookie. 呵呵,原来就是自己的坏习惯,使用cookie从来都不明确设置域名: cookie.set('skin', 'b

  • 浏览器 cookie 限制

    一.浏览器允许每个域名所包含的 cookie 数: Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 个 cookie(<Update to Internet Explorer's Cookie Jar>).  Firefox 每个域名 cookie 限制为 50 个.  Opera 每个域名 cookie 限制为 30 个.  Safari/WebKit 貌似没有 cookie 限制.但是如果

  • .net 获取浏览器Cookie(包括HttpOnly)实例分享

    一.接口文件 复制代码 代码如下: using System; using System.ComponentModel; using System.Net; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using System.Text; namespace CookieHandler {     internal sealed class INat

  • python3实现读取chrome浏览器cookie

    好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不能直接把浏览器的cookies取出来用呢? 直到昨天看到代码<python模拟发送动弹>,想起来当年我也曾经有类似的想法没能完成,那就优先拿这个练手,之后的代码也会用这个功能. 直接从浏览器中取出cookies,有以下好处和用途: 1.不需要配置用户密码,直接读出浏览器中cookies就得到一样的身份,用来完成各种自动化操作. 2.部分网站登录会更新Session,会导致之前成功登录的Session失效,与浏览器使用相同的Sessi

  • 常见的浏览器存储方式(cookie、localStorage、sessionStorage)

    今天我们从前端的角度了解一下浏览器存储,我们常见且常用的存储方式主要由两种:cookie.webStorage(localStorage和sessionStorage).下面我们来一一认识它们. Cookie基于HTTP规范,用来识别用户. Cookie是服务器发送到浏览器的一小段数据,会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上. Cookie诞生之初的作用就是解决HTTP的无状态请求,用来记录一些用户相关的一些状态. •会话状态管理(如用户登录状态.购物车.游戏分数或其它需要

  • JS面向对象编程 for Cookie

    各位如果有更好的见解可讨论下! 复制代码 代码如下: /* * Js Class Cookie * Author:Mr Co */ var Cookie = function(/*Cookie名称*/name){ this.$name = name; var allcookies = document.cookie; if(allcookies == '') return; var cookies = allcookies.split(';'); var cookie = null; for(v

随机推荐