由于HTTP协议是无状态的,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
此时会引用session,比如说登陆成功后,服务端会为用户开辟一块内存区域,用以存放用户这本次会话的一些内容,比如说用户名之类信息。那么就需要一个东西来标识这个内存区域是你的而不是别人的,这就是jsessionid。
然后,服务器响应时会将这个jsessionid发回给你的浏览器,放入你的浏览器的cookie中(这个cookies是内存cookies,跟一般的不一样,它会随着浏览器的关闭而消失)。
之后,只有你浏览器没有关闭,你每向服务器发请求,服务器就会从你发送过来的cookies中拿出这个session id,然后根据这个session id从内存中取出你之前存放的数据。
但是,如果你退出登陆了,服务器会清掉属于你的内存区域,所以你再登的话,会产生一个新的session了。
各浏览器对cookie也有不同的限制:
IE6.0 |
IE7.0/8.0 |
Opera |
FF |
Safari |
Chrome |
|
cookie个数: |
每个域为20个 |
每个域为50个 |
每个域为30个 |
每个域为50个 |
没有个数限制 |
每个域为53个 |
cookie总大小: |
4095个字节 |
4095个字节 |
4096个字节 |
4097个字节 |
4097个字节 |
4097个字节 |
当cookie超过限额时,浏览器一般会使用"LRU",最近最少使用原则,删除老的cookie。这样操作对程序本身是有很大影响的,比如获取不到需要的cookie字段,可能会引发一些意想不到的结果,比如用户访问登陆后,访问某个页面,会提示用户没有登陆,需重新登陆 等等。
因此,在使用cookie时,需要按严格的标准,和父域名、子域名之间要统一,尽量保证cookie的个数不超过20个,cookie的总大小不超时4KB。
目前查看cookie的工具有很多:
如 HttpWatch,fiddle,firebugs,tamper 以及chrome自带的插件 等
当然极力推荐 的还是FireCookie,是Firefox的一个插件,可以为Firebug添加Cookie的查看和管理功能
1. 如果某个网站的cookie较多,可以直接利用Firebug的搜索功能对cookie列表进行筛选,这个功能是从左到右完全匹配的,不匹配的结果将被隐藏 起来,只显示那些符合条件的结果。
2. 在Cookie列表视图状态下,有一些工具栏按钮可以执行一些特殊的操作,比如新建Cookie,删除当前网站的所有Cookie,以及设置网页使用Cookie的权限 等。权限标签按钮显示的是当前网页的权限状态:默认、禁止、允许线程Cookie、允许所有Cookie,除了显示状态,点击这个标签还可以直接修改。而且支持实时更新。
3. 如果你想知道cookie的值是什么时候发生变化的,可以直接使用Firebug的Console功能,Firecookie会在cookie的新建、修改、删除和被禁用的时候,向Console里写日志,如果嫌这个功能多余,可以在选择菜单中禁用。列表中的cookie是可以直接修改的,直接右键点击cookie,选择edit项就可以。
4. Firecookie支持剪贴板功能,可以对cookie进行复制、粘贴和剪切操作。如果把一个cookie项复制,并粘贴到记事本中,得到的结果是一个cookie赋值语句,左边是cookie名称,右边是cookie的值列表,包含domain域和path路径等项目。
相关推荐
cookie 浏览器 邮箱cookie浏览器 使用cookie进行网页登陆绕过 或者邮箱免登录
浏览器可以通过改变Cookie,实现快速切换登录帐号。 即可以点击工具栏Cookie按钮切换帐号, 也可以通过项目管理脚本定时自动切换帐号。 实测结果,适用于大多数网站,论坛等。
Chrome 80.X版本Cookies解密源码
如何获取浏览器的cookie
cookie.js: 一个简单,轻量级的JavaScript API,用于处理浏览器cookie,它易于使用,具有合理的占用空间(~3kb)(gzip:1.73kb),并且没有依赖关系。
候鸟浏览器cookie号导入导出清空视频教程
浏览器插件demo 获取指定url COOkie
.net 获取浏览器Cookie(包括HttpOnly)实例分享.docx
易语言置外部浏览器Cookie例子(支持所有浏览器),源码调用了 ,实现原理为在拦截数据的时候,进行替换cookie。
百度COOKIE浏览器,导入百度COOKIE账号,可自动登录网页百度。
浏览器删除cookie方法.docx
FlashCookie 不被浏览器清除的Cookie 不被浏览器清空的Cookie
cefsharp浏览器多开,cookie互相独立 是工具,不是源码
浏览器中如何操作Cookie? 关于Cookie的概念和应用,大家可以看看我前面的几篇文章。并且在Cookie详解这篇文章中,介绍了如何在服务器端和使用JavaScript创建Cookie,并设置属性。 我们知道,Cookie是存储在...
可以随意获取本地存储的Cookie,这是获取IE的Cookie,要想获取其他浏览器Cookie,需要将里面的工具类的路径改一改,注释已写好,适用Win7以上,通过获取本地Cookie文件内容进行转换成Cookie,没有调用第三方dll,...
两个不错的Cookie管理工具,分享给大家!
Cookie是当你浏览某网站时,网站存储在你机器上的一个小文本文件,它记录了你的...服务器将Cookie添加到网页的HTTP头信息中,伴随网页数据传回到你的浏览器,浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。
有些网站post登录很难,但是我们需要登录后的cookie,那么可以从浏览器入手。 这个是C#调用Cefsharp,手工登录后,获取cookie的例子。
在PHP中浅谈Cookie与Session.pdf