- 浏览: 994893 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (394)
- OSGI (14)
- 多线程 (10)
- 数据库 (30)
- J2ME (1)
- JAVA基础知识 (46)
- 引用包 (1)
- 设计模式 (7)
- 工作流 (2)
- Ubuntu (7)
- 搜索引擎 (6)
- QT (2)
- Ubuntu下编程 (1)
- 小程序 (2)
- UML (1)
- Servlet (10)
- spring (16)
- IM (12)
- 文档视频转为flash格式在线播放 (19)
- Maven (8)
- 远程调用 (2)
- PHPRPC (1)
- EXTJS学习 (2)
- Hibernate (16)
- 技术文章 (38)
- flex (5)
- 海量数据处理 (5)
- FTP (8)
- JS (10)
- Struts (1)
- hibernate search (13)
- JQuery (2)
- EMail (3)
- 算法 (4)
- SVN (7)
- JFreeChart (4)
- 面试 (4)
- 正规表达式 (2)
- 数据库性能优化 (10)
- JVM (6)
- Http Session Cookie (7)
- 网络 (12)
- Hadoop (2)
- 性能 (1)
最新评论
-
hy1235366:
能够随便也发一下,你退火算法程序使用的DistanceMatr ...
模拟退火算法总结(含例子)(转) -
梅强强:
感谢分享。。帮大忙了
swftools转换文件时线程堵塞问题的解决方法 -
wenlongsust:
openoffice和文件不在同一个服务器上,用过吗?
[JODConverter]word转pdf心得分享(转) -
2047699523:
如何在java Web项目中开发WebService接口htt ...
利用Java编写简单的WebService实例 -
abingpow:
唉,看起来好像很详细很不错的样子,可惜不是篇面向初学者的文章, ...
Spring与OSGi的整合(二)(转)
Cookies基础
Cookies是web站点放置到你的硬盘上的程序。它们驻留在你的计算机上收集关于你在因特网上所做的一切事情的信息,并且web站点可以在任何时候读取到Cookies收集到的所有信息。
在新闻中这样定义(新闻说法)是公平的,问题是,这个定义中没有一个是正确的,Cookies不是程序,它不能象程序一样能做很多事,因此它们自己不能收集任何信息,也不能收集关你你的机器的任何信息。
这里有一个关于Cookies的比较恰当的定义:
一个Cookies是web服务器存放在用户硬盘的一段文本,Cookies允许一个wen站点在用户的机器存放一些文本的信息,并可以在以后重新获取它。这个基于文本的信息存储着一些“键-值”对。
举个例子,一个web站点要为每一个来访者建立一个唯一的ID号码,并且将这个号码存储到每个来访者的机器的Cookies中,那就相当于你去一个超市,你买了什么或不买什么都会有一个单子寄到你家去,那当你到过很多超市时,你家就可能保留很多去过的各个超市的单子。
如果你用微软的IE浏览一个web,你能够在你的硬盘看到你机器上的所有的Cookies,通常它们会驻留在目录c:\windows\cookies (win98),或者C:\Documents and Settings\user name\Cookies(win2000,win xp) 下面,当我看我的机器的这个目录的时候,我发现有165个文件。每个都是一个包含了“键-值”对的文本文件,每个站点都有一个Cookies文件。
你能够看到这个目录中的每一个文件都是一个简单的,普通的文本文件,你能够通过文件名看到是哪个web站点在你的机器放置了Cookies(这个信息也保存在了文件内容中),你可以打开每个文件查看其内容。
例如,我已经访问过了站点 goto.com,这个站点就会在我的机器上放置一个Cookie,这个Cookie文件的名字叫goto.com,包含下面的信息:
UserID A9A3BECE0563982D www.goto.com/站点 goto.com已经在我的机器上放置了一个单个的“键-值”对,键的名字是 UserID,键的值是 A9A3BECE0563982D,我第一次访问goto.com站点,站点分配了一个唯一的ID给我并把这个ID存放到了我的机器。
大多数的站点仅仅只在你的机器存放一个用户ID的Cookie,但这不是限制,一个站点可以在你的机器存放许多的“键-值”对,只要它喜欢。
Cookies文件只包含这些简单的“键-值”对的文本,它不是程序,因此它不能“做”任何事情,一个web站点只能重新取得它自己放置到你硬盘的信息,它不能从其它的Cookies文件中取得信息,也不能看到你的机器的任何别的东西,不是后门程序,不过是一些纯文本文件,是而对浏览器来说,浏览器要去访问一个站点的时间会先扫描一下用户机子的cookies文件,将将要访问的站点的cookie文件内容也一起发送出去,而当一个站点设置了cookie的功能时,浏览器会将站点要求的cookie文件内空写入到客户机指定的cookie文件存放目录,所以cookie操作是由浏览器来完成的,而浏览器又会对cookie操作作限制的,所以它不会去扫描你的整个盘的信息,而只是扫描一下你的cookie文件夹,所以不会上传用户的个人信息。
Cookies数据如何移动
正如你在以上章节中看到的,Cookie数据是简单的web站点放置在你的硬盘上的“键-值”对的文本,所有的Cookies文件都是如此。Web站点保 存这些数据,然后又可以取回来,一个web站点只能取回它自己存放在你机器的数据,不能看到其它的Cookie,也不能看到你机器上的其它任何东西。
Cookie数据按照下面的方式移动:
- 如果你在你的浏览器中输入了web的URL,浏览器会象这个URL的web站点发送请求,比如,你在浏览器中输入一下URL:http: //www.verizon.com,浏览器会将请求发送到Verizon的web服务器,请求它的首页。
- 当浏览器发送请求时,它会查看你机器上跟域名www.verizon.com有关的Cookie文件,如果存在同www.verizon.com有关的 Cookie,浏览器就会把相关的Cookie“键-值”对数据跟请求一起发送到服务器,如果不存在同www.verizon.com有关的 Cookie,则浏览器不发送Cookie到服务器。
- Verizon的web服务器收到Cookies数据和一个页面的Http请求,如果收到了Cookie“键-值”对,Verizon的web服务器将能够使用它们。
- 如果没有收到Cookie“键-值”对,Verizon的web服务器就能知道你以前没有访问过这个站点,服务器建立一个新的用户ID,并在把你所请求的 页面发回到你的浏览器时,把用户ID“键-值”对发送到你的机器,你的硬盘就会驻留了对应这个站点的“键-值”对Cookie。
- web服务器可以在你访问站点时,随时的更改“键-值”对或者加入一个新的“键-值”对。
- 同“键-值”对发送到客户端的还有同这个“键-值”对相关的一些其它信息,其中之一就是Cookie有效期,另一个就是路径(为了在同一个站点的不通部分关联不同的Cookie)。
你能够控制这个过程,你可以在你的浏览器中设置当web站点向你的机器发送Cookie时你是接受还是拒绝,可以在浏览器的Intnet选项里设置,也可以查看你的cookie所存放的本机的地方,如我的是存放在C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files,而当我进入C:\Documents and Settings\Administrator\Local Settings\目录时,竟然没有Temporary Internet Files目录,我就直接在地址栏输入回车才出现,可能是为了安全吧,因为另一个人用你的电脑也可以看到你的cookie信息,并且将它拷到它的机上的话应该就可以直接使用,所以如果你是登陆一个网站,而该网站又是以cookie进行验证,而且如果你的cookie没过期,那么人家就可以使用你的cookie来进行登陆了,然后修改你的信息或帮你下定单。
Web站点怎么使用Cookies
Cookies得到发展是因为它解决了谁在访问某个站点这个大问题,广义的理解,Cookies允许一个站点在你的机器上保存状态信息,这个信息让web 站点记住你的浏览器在什么状态,一个userID这个简单的“键-值”对可以让web站点知道你以前访问过这个站点,状态就是“你的浏览器至少访问过这个 站点一次”,并且,站点从这次访问可以得知你的user ID。
Web站点通过许多不同的方法来使用Cookies,下面是一些例子:
- 站点能够精确的知道有多少访问者在实际的访问站点,它能排除哪些因为代理服务器,缓冲器,集中器等等带来的干扰,正确统计站点访问数的唯一方法是为每一个 来访者设置一个唯一的ID,并存在Cookie中,用Cookie,站点能够:
- 决定有多少访问者到达。
- 决定多少新的访客,多少是再次造访者。
- 确定一个访问者访问的频度
web站点要做到这些是通过使用一个数据库,一个来访者第一次到来,站点在数据库中建立一个新的user ID,并且将这个user ID做为Cookie发送到客户端,这个用户下次再次访问这个站点,站点将会在数据库中同这个用户关联的user ID 记录中增加访问次数,因此也知道了此用户多久访问一次。
为了查看每个用户的不同之处,站点可以存储用户的参数,比如,一些站点提供改变内容、布局、颜色设置的能力,它或者能够根据你的邮政编码提供定制的天气信息。
大多数的站点似乎都象这样的在站点数据库中保存用户参数,在Cookie中除了存储一个user ID别的信息都没有,但是要在“键-值”对中存储一个实际的值还有另外一个方法:
电子商务站点能够实现类似购物蓝和快速付款这些功能,用包含user ID的Cookie来跟踪客户并将不同的商品放入你的购物蓝中,你放入购物蓝的每一个商品都将存放在数据库中同你的user ID相关的记录中,当你付款时,站点知道你都采购了哪些商品。若是没有Cookie或者类似的技术,将不可能实现上述的功能。
在所有的这些例子中,注意,数据库被用来存储你在站点中选择的商品,你浏览过的页面,你在表单中提供的信息等等,所有的信息都被保存在站点的数据库中,只有你的user ID是存储在客户端的Cookie中用以辨识用户的身份。
Cookies的问题
Cookies不是一种理想的状态机,但是它的确能够做到许多别的方式不能做到的事,下面是Cookies的一些缺点:
- 人们经常共同使用一台机器 ―― 在公共场合使用的任何机器,和在办公室使用的或在家中使用的许多机器都是多人共享的机器。让我们来看你正在使用一台多人使用的机器(例如,在图书馆的机 器)在一个网上商店购买商品,商店的网站将会在这个机器上留下你的一些设置信息,其后又有别人用这台机器到这个网上商店购买商品,这个网站将会提供的是你 的一些设置。
- Cookies 被删除 ―― 如果你的浏览器出来问题而寻求技术支持的时候,技术支持者要你做的第一件事就是要求你首先删除你机器上的所有internet临时文件,当你这样做后,你 将丢掉你的所有的Cookies文件。当你再次访问某个站点时,站点将会想你是个新的用户并给你一个新的user ID,你以前在这个站点设置的一些个性设置也将不在存在。
- 使用多个机器 ―― 人们在一天之内经常使用不止一台机器,比如,在办公室使用一台机器,在家又使用一台机器,在路上可能使用到笔记本电脑。这样在三台机器上将会用三个不通的 Cookie,同一个人在三台机器上将会被做为三个用户分别对待。
由于Cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。
硬盘中的Cookies文件可以被Web浏览器读取,它的格式为:用户名@网站地址[数字].txt。
如本人电脑中的一个Cookies文件名为:51jiayou@5jiayou.com.cn[1].txt。这个是网上转的,我的cookie文件格式只是用户名@域名,这个文件格式与操作系统和浏览器的约定很有关系,而站点那边就不管这个,它只接收客户端提交过来的cookie信息,并分析是不是自己所要的信息,再进行处理,所以它是不理cookie存放格式,而只是要内容。
大部分的网站设计者在进行网站设计时都使用了Cookie,因为他们都想给浏览网站的用户提供一个更友好的、
人性化的浏览环境,同时也能更加准确地收集访问者的信息。
发表评论
-
提取html内容放入xml文件时空格问题
2011-05-24 17:09 2592由于项目的需要,将网站上的信息抓取下来,提取出想要的信息,然后 ... -
简述URI和URL区别(转)
2011-04-20 16:23 1369URL:(Uniform Resoure Locato ... -
jsp页面乱码解决方案及编码设置问题(转)
2011-03-27 15:46 1803经常遇到关于JSP页面乱码的问题,在网上也查了相关的帖子,故在 ... -
使用JSTL标签异常
2011-01-02 09:48 1815我使用JSTL标签,如下所示: <c:when ... -
HSQL入门及使用指南 (转)
2010-12-27 22:29 2124HSQL可以到官方网站 ... -
使用POI读取Word207和Excel2007的例子 (转)
2010-12-26 16:19 2574天在写全文检索功能时,POI读取Word2007和Excel2 ... -
SSH session连接关闭问题的解决(转)
2010-12-15 22:12 21002008-07-20 22:25:27,531 INF ... -
svn和myeclipse使用搜狗浏览器代理
2010-12-11 16:42 17821 在svn里的setting功能选项中选择Network,勾 ... -
Kissy Suggest 自动提示例子
2010-12-10 14:45 3776由淘宝团队开发出来的Kissy Suggest 自动提示组件是 ... -
计算机开机启动过程详解(转)
2010-12-10 13:22 13501、http://product.zdnet.com. ... -
更强的自动补全提示:提示补全组件:Kissy Suggest(转)
2010-12-09 16:25 1016去年针对谷歌的搜索提示,发过一篇文章:从谷歌的一个Bug说 ... -
磁盘分区与文件系统(转)
2010-12-09 09:38 2002一个磁盘是分成一个个扇区来存放信息,整个磁盘的第一个扇区是作 ... -
QQ通信原理(转)
2010-12-02 21:52 6621QQ通信原理我研究的是QQ ... -
邮件激活
2010-11-17 09:34 1418今天看了一下公司做的网站,看到有关邮件激活的程序,就做下笔记。 ... -
HttpSessionBindingListener获取在线用户数(转)
2010-11-01 14:59 2325下面为我的测试 ... -
cookie的简单使用
2010-10-29 11:13 1540一、cookie的作用 在 ... -
swfobject的使用
2010-10-26 09:54 31741 swfobject可以将swf文件嵌入到网页内,它是一个j ... -
java获取当前工程名(转)
2010-10-24 09:14 1581String projectname = System.get ... -
利用Java编写简单的WebService实例(转)
2010-10-22 15:30 2704/* * File name: TestHell ... -
利用Java编写简单的WebService实例
2010-10-22 14:55 86954使用Axis编写WebService比较简单,就我 ...
相关推荐
COOKIE注入原理动画教程,教你掌握cooke注入的原理,值得一看!
工作原理与一些对于cookie读写操作实例。 Cookie和会话状态 做BS开发,这两个概念必不可少,先来个大概了解,没有实际应用很难深入,深入看参考地址! 什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和...
在目前以IPv4为支撑的网络协议上搭建的网络环境中...本文就分别介绍一下SYN Flood攻击和SYN Cookie的原理,更重要的是介绍Linux内核中实现SYN Cookie的方式。最后,本文给出一种增强目前Linux中SYN Cookie功能的想法。
介绍下cookie和session之间是咋交互的。原理是啥
介绍cookie种类以及在整个会话中工作原理和过程,内容介绍比较通俗易懂,主要针对在了解网页访问中,一些解析和破解等问题、
session和cookie原理解释以及他们的相同点和区别。
Session与Cookie实现原理
深入理解ServletJSP之“Cookie和Session原理”很详细 深入理解ServletJSP之“Cookie和Session原理”很详细 深入理解ServletJSP之“Cookie和Session原理”很详细 深入理解ServletJSP之“Cookie和Session原理”很...
主要介绍了session和cookie作用原理,区别和用法,以及使用过程中的优缺点,通过列举区别和原理,使读者更能理解两者之间的关系,需要的朋友可以参考下
cookie注入攻击,很详细,包括COOKIE格式,Cookie欺骗原理,利用JavaScript来设置cookie等
(1)这个demo使用.NET4.0框架,C#语言编写的Winform程序,使用GeckoFX 33.0.9版本火狐...(3)cookie读取原理简单介绍:火狐是使用sqlite数据库存储cookie的,都在cookies.sqlite中了。不明白的请自行百度sqlite数据。
深入理解Servlet/JSP之“Cookie和Session原理” 由于HTTP协议的无状态特征,Web应用中经常使用Cookie和Session来保存用户在与系统交互过程中的状态数据。下面通过分析HTTP协议对Cookie和Session的工作原理加以了解。
教程名称: 【动力节点】Java经典教程_Servlet视频教程之Cookie动力节点推出...其次详细讲解了Session的工作原理;然后讲解了Session的失效;最后讲解了Coo 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
cookie机制详解 Cookie 工作原理详细介绍
什么是cookie? cookie 是本地计算机的临时存储。 作用:在浏览器中进行数据的存储,用户名、密码(比如:保存页面信息,自动登录等)。 特点: cookie需要在服务器环境下运行; cookie的容量在4kb左右,限制为每个...
Web协议详解与抓包实战
主要介绍了Java 模拟cookie登陆简单操作,结合实例形式分析了Java 模拟cookie登陆的相关原理与基本实现技巧,需要的朋友可以参考下
PHP 利用COOKIE验证用户登录的例子,用户名和密码存于数据库中,其中的数据库操作不是该例子的重点,本例子适合PHP新手学习COOKIE的工作原理和如何使用COOKIE。