今天在测试Ticket时,发现原来保存的Cookie莫名其妙的就被清除了,自己没有做过任何的改动。经开发人员Allon推断,应该是Cookie数量达到了浏览器的限制。
网上查找出来的结果是:
一、浏览器允许每个域名所包含的cookie数:
Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。
Firefox每个域名cookie限制为50个。
Opera每个域名cookie限制为30个。
Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。
注:“每个域名cookie限制为20个”将不再正确!
二、当很多的cookie被设置,浏览器如何去响应。
除Safari(可以设置全部cookie,不管数量多少),有两个方法:
最少最近使用(leastrecentlyused(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大小超过限制都被忽略,且永远不会被设置。
session:
当新客户端发现一个HTTP请求时服务端会创建一个session.并分配一个sessionID作为服务端来客户端的识别,session对象会 保存在服务端.此时session对象处天NEW STATE状态,如果调用 session.isNew()则返回true.
当服务器处理完后,会将sessionID同reponse 一起传回客户端,并将其存到cookie中;
当客户端再发送请求的时候.会将sessionID连同request一起发送给服务端;
服务端再根据传过来的sessionID将这次request与保存在服务端的session对象联系起来.此时的session对象已不是NEW STATE状态.
这样循环多次.直到超时或销毁.
注:当禁用cookie时也是不能使用session的;
cookie:
cookie是在客户端保存的方案.而session是在服务端保存的方案.
如果cookie不设定时间的话就表视它的生命周期为浏览器会话的期间,只要关闭IE,cookie就消失了
这种cookie被称为会话cookie.其一般不保存在硬盘上.而是保存在内存中.
如果设置了过期时间.那么浏览器会把cookie保存到硬盘中,再次打IE时会依然有效.直到它的有效期
超时;
注:存储在硬盘中的cookie可以在不同IE间共享;
相关推荐
总之,Cookie.js作为一款小巧且功能强大的JavaScript库,为处理浏览器cookie提供了一种简便易用的解决方案。其小巧的体积、无依赖的特性,以及丰富的API接口,使其成为开发者处理cookie问题的首选工具。在压缩后的...
总的来说,JavaScript Cookie库是前端开发中处理浏览器cookie操作的一个高效选择,尤其适用于需要在多个页面间保持用户状态或简单数据存储的场景。通过灵活的API和丰富的配置选项,可以方便地集成到任何JavaScript...
3. **Cookie的大小限制**:单个Cookie的大小不能超过4KB,因为这是大多数浏览器对Cookie大小的限制。如果超过这个限制,浏览器可能会忽略或修剪Cookie。 4. **安全性与隐私**:Cookie可以被任何人读取,因此不应在...
4.1 限制大小和数量:每个Cookie的大小不能超过4KB,且每个域名下的Cookie数量有限制,因此在设计时需考虑资源利用率。 4.2 安全性:Cookie不加密,容易被中间人攻击,不应存储敏感信息。可使用HTTPS协议保护传输...
Cookie是Web应用程序中常用的一种数据存储机制,它允许服务器在客户端(用户浏览器)上...总的来说,了解并合理使用Cookie的数量和大小限制是Web开发中不可或缺的知识点,能够帮助我们构建更高效、更稳定的应用程序。
5. **浏览器的Cookie限制**:每个域名下的Cookie数量有限制,通常不超过50个,且总大小不能超过4KB。此外,不同浏览器对Cookie的隐私策略也有所不同,例如,隐私模式下可能不会保存Cookie。 6. **删除Cookie**:...
在Web开发中,Cookie是一种非常重要的技术,用于在客户端存储少量的数据。Cookie通常用来跟踪...此外,由于浏览器对每个站点都有Cookie数量和大小的限制,所以在使用Cookie时要考虑这些因素,避免过度使用导致问题。
- **Cookie大小限制**:大多数浏览器对单个Cookie的大小限制约为4KB。 - **隐私政策**:根据法律法规要求,必须向用户明确告知网站使用Cookie的目的,并获得同意。 通过以上介绍,我们可以了解到Java中Cookie的基本...
需要注意的是,Cookie有一定的大小限制,通常每个Cookie不超过4KB。此外,每个域名下的Cookie数量也有限制,大多数浏览器允许20个同名Cookie。因此,在设计系统时,应合理规划Cookie的使用,避免因数量或大小超出...
4. **自动改变分辨率和窗口尺寸**:这个功能对于网站开发者和测试人员尤其有价值,可以快速调整浏览器的视窗大小以适应不同的屏幕配置,确保网页在各种环境下都能正常显示。 5. **自动点击和自动填表**:用户可以...
- **大小限制**:每个Cookie的大小通常限制在4KB左右,这限制了可以存储的信息量。 - **域限制**:Cookie只能由创建它的域读取,这意味着一个网站不能读取另一个网站设置的Cookie。 ### 可替代技术 除了HTTP Cookie...
JavaScript的`document.cookie`属性用于设置和获取Cookie,需要注意的是,由于Cookie的大小限制,如果表格列过多,可能需要考虑其他持久化存储方式,如LocalStorage或SessionStorage。 表头的锁定功能,通常称为...
- **大小限制**:每个Cookie的大小不能超过4KB,这限制了能存储的数据量。 - **数量限制**:每个域名下最多只能有20个Cookie。 - **安全问题**:Cookie是明文传输的,不适用于存储敏感信息,如信用卡号。 - **...
- **大小限制**:单个Cookie的大小不应超过4KB,否则可能无法正确发送。同时,每个域下的所有Cookie总大小也有限制,一般为40KB左右。 通过这些基本操作,你可以用C#实现Cookie的完整生命周期管理,包括创建、读取...
此外,Cookie大小有限制,一般不超过4KB,因此不适合存储大量数据。 总的来说,JavaScript的Cookie机制是前端开发中不可或缺的一部分,熟练掌握Cookie的使用对于提升用户体验和实现特定功能至关重要。通过上述示例...
- **大小限制**:每个站点的Cookie总大小限制约为2KB,超过这个限制,最早的Cookie会被删除以腾出空间。 - **数量限制**:浏览器通常允许每个站点设置一定数量的Cookie,具体数量取决于浏览器的实现。 - **安全性...
- Cookie大小有限制,一般不超过4KB,因此不适合存储大量或敏感数据。 - Cookie是可被用户查看和修改的,因此不应存储敏感信息,如密码或信用卡号。 - 鉴于隐私问题,使用Cookie时应明确告知用户并获取其同意。 ...
- **Cookie的限制**:理解单个Cookie的大小限制(通常为4KB)以及每个域下的Cookie数量限制。 - **安全与隐私**:探讨Cookie的安全性问题,如HTTP Only和Secure属性的使用,防止跨站脚本攻击(XSS)和确保数据在...
- Cookie大小有限制,通常不超过4KB,所以不适合存储大量信息。 - 用户可以手动删除或禁用Cookie,可能导致身份验证失效。 - 由于基于浏览器的,Cookie不适用于非浏览器的客户端,如API请求。 6. **文件"cookie...