目前测试的两种浏览器:Chrome 和 IE 。

环境:IIS 7.5

只创建了站点,未做任何配置。

Chrome : v36.0.1985.143 m

单个 Cookie 的长度为 4069 个字符(包括 name,但不包括 = 号 )。

IE : v11

单个 Cookie 的长度为 5091 个字符(包括 name,但不包括 = 号 )。

__________________________________________________ 分隔线 __________________________________________________

至于每个域里面能接收多少个 cookie 。这个在我的测试中发现当 cookie 的值大的时候,虽然写入成功了,但是在刷新页面或者发起别的请求的时候会出现如下的错误:

但是如果 cookie 的值比较小(即字符长度小)的话,则刷新页面或发起新的请求就不会有问题。

______________________________________________ 再来一个分隔线 ______________________________________________

回到初衷

  ——也就是设计 cookie 的目的。因为 HTTP 本身是无状态的会话,但是很多时需要一个有状态的会话,为了这个需求设计出来了 HTTP 状态管理机制(HTTP State Management Mechanism),即 cookie 。而一般的会话又不需要存储大量信息客户端(一般都为浏览器),所以在设计这个 cookie 的时候并没有考虑存储大数据量时的情况,而且实际使用时也很少需要存储大量数据到客户端。

  假如需要存储大量数据到客户端怎么办呢?这里想到了以下几点:

  1. 限制用户使用最新版 chrome/FireFox/Internet Explorer 浏览器,如果对象不是特别大则可以使用 Web Storage
  2. 在客户端用一个 token 标识用户在服务器端对应的状态,不过这个想控制好用户的状态,需要大量 AJAX 请求去服务器端更改用户状态,需要服务器牛X。实际用处也不大。
  3. 放弃用 Web 开发这个项目,使用 C/S 架构。

参考资料:

  1. http://en.wikipedia.org/wiki/Web_Storage
  2. https://www.ietf.org/rfc/rfc2109.txt

主流浏览器 Cookie 的大小的更多相关文章

  1. atitit..主流 浏览器 js 发动机 内核 市场份额 attialx总结vOa9

    atitit..主流 浏览器 js 发动机  内核 市场份额 attialx总结vOa9 1. 浏览器内核 1 2. 浏览器的主要组件包含: 2 2.1. 主要组件体系结构 2 2.2. WebCor ...

  2. atitit..主流 浏览器 js 引擎 内核 市场份额 attialx总结vOa9

    atitit..主流 浏览器 js 引擎  内核 市场份额 attialx总结vOa9 1. 浏览器内核 1 2. 浏览器的主要组件包括: 2 2.1. 主要组件体系结构 2 2.2. WebCore ...

  3. 主流浏览器js 引擎内核市场份额attialx总结vOa9

    原文: http://blog.csdn.net/attilax/article/details/40016... 时间: 2014-10-12 atitit.. 主流浏览器 js 引擎 内核 市场份 ...

  4. 关于浏览器cookie的那些事儿

    昨天接到一个小需求,就是在ipad上访问某页面,页面顶部出现一个下载客户端的提示,点击关闭按钮后,提示信息消失,信息存入cookie,在cookie未过期之前,除非用户自己清除浏览器的cookie,否 ...

  5. 浏览器cookie数

    <?php for ($w=0; $w < 200 ; $w++) { setcookie('name'.$w,'value'.$w, time()+3600*10 ); } var_du ...

  6. 浏览器cookie数 跨站请求伪造 欧盟Cookie指令

    <?php for ($w=0; $w < 200 ; $w++) { setcookie('name'.$w,'value'.$w, time()+3600*10 ); } var_du ...

  7. 主流浏览器内核、css权重

    主流浏览器及其内核: IE:trident Firefox:Gecko Google Chrome:webkit/blink Safari:webkit Opera:presto css权重 优先级大 ...

  8. Chrome浏览器Cookie解密

    做过 web 开发的都知道:浏览器会把重要的认证登录认证信息存放到 cookie 中,在 cookie 有效期内,再次访问这个网站的时候就可以直接从 cookie 中获取到登录信息,这样就可以实现自动 ...

  9. 五大主流浏览器 CSS3 和 HTML5 兼容性大比拼

    各大主流浏览器对 CSS3 和 HTML5 的支持越来越完善,曾经让多少前端开发人员心碎的IE系也开始拥抱标准.就在前几天,W3C的 HTML5 社区领袖 Shelley 宣布,HTML5的开发工作已 ...

随机推荐

  1. C++ Templates编程(模板参数)

    //file max.hpp template <typename T> //template<class T> inline T const& max (T cons ...

  2. insert into table 插入多条数据

    方法1: insert into `ttt` select '001','语文' union all select '002','数学' union all select '003','英语'; 方法 ...

  3. 解决IIS7下主机名灰色无法修改问题

    打开IIS ,找到网站,右击编辑绑定时: 关于导入iis   .pfx格式的证书后,编辑绑定时,主机名为灰色的问题 解决方法 : (1)打开C:\Windows\system32\inetsrv\co ...

  4. JavaScript之函数,词法分析,内置对象和方法

    函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式有点区别. // 普通函数定义 function f1() { console.log("Hello wo ...

  5. glibc -The GNU C Library

    1.使用库文件 1.1.头文件 C库实际包含两部分:头文件,实际的库文件.头文件定义类型.定义宏.声明变量.声明函数.头文件定义的内容实际在库文件中实现.需要使用到 C库 的某些功能时,程序源文件包含 ...

  6. Java 递归详解

    递归详解: 1.递归一句话通俗讲就是一个方法自动重复调用自己的过程. 2.因为是重复调用自己了,所以看起来像一个循环,所以为了避免内存溢出系统崩溃,我们需要在方法里加一个返回值判断,用于递归循环的跳出 ...

  7. Oracle 命令

    net start oracleserviceorcl  启动服务 sql>shutdown     关闭数据库 sql>startup         打开数据库 sql> sel ...

  8. uva-10340-水题

    题意:字符串匹配,看样例输入理解题意 直接循环 #include <string> #include<iostream> #include<map> #includ ...

  9. java-代码生成器

    package ormRex; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import ...

  10. openx 添加新表和据库表和字段

    OpenX的版本是2.8.10.在数据表加完数据库之后,还不能读取和保存字段. OpenX使用scheme来 管理数据库表和字段, 修改数据库结构同时也要修改相关schema, 一个是etc/tabl ...