目前测试的两种浏览器: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. rsync+inotfiy文件同步

    rsync+inotfiy文件同步 1.部署rsync服务 yum install rsync #安装rsync,如果嫌yum版本过低也可以源码安装 2.vim /etc/rsyncd.conf #默 ...

  2. Android Studio连接不到MuMu模拟器;

    网易推出的mumu模拟器还挺好用的,主要是流畅占内存小: 但是安装mumu模拟器后,as连接不到mumu模拟器: 好了,教程来了:两步走: 先把模拟器运行起来! 第一步:打开Terminal,输入:  ...

  3. IE兼容性问题的总结

    一.IE6/IE7对display:inline-block的支持欠缺 1.表现描述 这个应该算是很经典的ie兼容性问题了,inline-block作用就是将块级元素以行的等式显示.在主流浏览器中水平 ...

  4. Linux设置Oracle环境变量

    方法一:直接运行export命令定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的 ...

  5. MySQL免安装配置(亲测过,请放心借鉴)

    下载地址:https://dev.mysql.com/downloads/mysql 1.mysqld --initialize-insecure  初始化 2.mysqld install  安装服 ...

  6. linux rabbitmq 远程登录

    ./rabbitmqctl add_user admin1 admin1 ./rabbitmqctl set_user_tags admin1 administrator ./rabbitmqctl ...

  7. LRU简单实现

    用LinkedHashMap来实现 package com.yin.purchase.dao; import java.util.ArrayList; import java.util.Collect ...

  8. 关于W8.1不能安装VS2015(包括2017等)

    电脑本来是W7 64位+OPENCV3.1,今天突然系统崩溃了,然后感觉W7过时了遇到很多问题直接系统崩溃还得了啊,干脆装了一个W8.1了. 好吧~~本来想直接说问题的,干脆先把装系统给记录一下--& ...

  9. 使用NetBox实现ASP网页封装为EXE教程

    简单的形容就是把ASP文件打包 成一个EXE文件,并且不需要在调试的机器上安装IIS即可正常调试.如果按照说明书来操作的话,观看比较繁琐,本人为方便大家使用,现制作一个简单的使用教程. 封装过程 1. ...

  10. C# sqlserver winform

    //public static readonly string LocalSqlServer = System.Configuration.ConfigurationManager.AppSettin ...