Sission和Cookie的区别

Sission和Cookie的区别

  1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session。
  2. 思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。有人问,如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。
  3. Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,能够方便一下用户。这也是Cookie名称的由来,给用户的一点甜头

总结一下:

1、Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;

2、Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

3、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。

4、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE。

5、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

6、 将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中。

时间: 2024-10-20 19:47:12

Sission和Cookie的区别的相关文章

session 和 cookie 的区别与联系

1.创建一个新的Cookie Cookie cookie = new Cookie("username",name); 2.设置cookie在客户端上存活多久 cookie.setMaxAge(30*60); 3.把cookie发送到客户 response.addCookie(cookie); 4.从客户请求得到cookie(或多个cookie) Cookie[]    cookies=request.getCookies(); for(int i=0-;i<cookies.le

session与cookie的区别,有哪些不同之处

session与cookie的区别,根据自己的理解总结如下: (1)cookie是一种客户端的状态管理技术,将状态写在 浏览器端,而session是一种服务器端的状态管理技术,将 状态写在web服务器上面. (2) cookie有很多限制: a, 可以被用户禁止 b, cookie能够保存的数据比较小(大约4k),而且 保存的个数也有限制(300个左右). c,  cookie不安全 d,  cookie只能保存字符串 而session能够保存更多的数据,相对更安全,保存的 数据类型更丰富. s

PHP中常用的超全局变量 表单中get和post提交方式的区别 session与cookie的区别 GD库是做什么用的

PHP中常用的超全局变量 $_GET ----->get传送方式$_POST ----->post传送方式$_REQUEST ----->可以接收到get和post两种方式的值$GLOBALS ----->所有的变量都放在里面$_FILES ----->上传文件使用$_SERVER ----->系统环境变量$_SESSION ----->会话控制的时候会用到$_COOKIE ----->会话控制的时候会用到 表单中get和post提交方式的区别 get是把参

详谈session和cookie的区别

一.cookie机制和session机制的区别*************************************************************************************具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择,比如说

session与cookie的区别&lt;转载&gt;

我所知道的有以下区别:       1.session保存在服务器,客户端不知道其中的信息:cookie保存在客户端,服务器能够知道其中的信息.       2.session中保存的是对象,cookie中保存的是字符串.       3.session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到.而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的.       4.session需要借助cookie才能正常

localStorage、sessionStorage和cookie的区别

本地客户端(浏览器)查看三者信息: HTML4的本地存储:cookie 浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等根服务端进行数据交互. 一.cookie 和 session cookie 和 session都是用来跟踪浏览器用户身份的会话方式. 区别: 保持状态:cookie保存在客户端(浏览器),session保存在服务器端 使用方式: cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结

session和cookie的区别

原作者:施杨(施杨's Think out)出处:http://shiyangxt.cnblogs.com 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪录下来.当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie 里的内容来判断使用者,送出特定的网页内容给你. Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cook

会话管理-0.2.Session和Cookie的区别

session和cookie的最大区别在于: 1.保存位置不同 session是保存在服务端的内存里面,而cookie保存于浏览器或客户端文件里面: 2.生命周期不同 session是基于访问的进程,记录了一个访问的开始到结束,当浏览器或进程关闭之后,session也就“消失”了,而cookie更多地被用于标识用户,它可以是长久的,用于用户跟踪和识别唯一用户(Unique Visitor). 3.安全性不同 cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑

老生常谈session,cookie的区别,安全性

一,为什么session,cookie经常会有人提到 做web开发的人基本上都会用session和cookie,但是仅仅只是会用,并不知道session和cookie的真正的工作原理,都只是凭着感觉来猜测.web开发者只要利用它们来完成工作就行了,所以每个人的理解基本都会有大同小异,我想这就是session,cookie经常会被讨论的原因.本文也是根据个人经验,以及个人所学,对session,cookie的一些看法,纯属个人见解,希望得到大家的更正和建议. 二,什么cookie cookie分为