Session会话与Cookie简单说明

Facebook、 Gmail、 Twitter 是我们每天都会用的网站(LCTT 译注:才不是呢)。它们的共同点在于都需要你登录进去后才能做进一步的操作。只有你通过认证并登录后才能在 twitter 发推,在 Facebook 上评论,以及在 Gmail上处理电子邮件。经常有人会疑惑:Session会话与Cookies的区别是什么?用户登录的原理是什么?网站是如何认证的?它怎么知道是哪个用户从哪儿登录进来的?下面将对这些问题进行一一解答。

1)session与cookie的简单区别
session和cookie本质上确实是两个东西,但cookie同时也是session id的载体,cookie保存session id。

cookie数据存放在用户的浏览器上,session数据放在网站的服务器上。
session保存在服务器端与浏览器设置无关,cookie在客户端并受浏览器设置限制。
cookie是在你的电脑浏览器上保存的,session是在网站服务器上的. 也就是说你换一个电脑你的cookie就不起作用了, 而session只要你的浏览器不关就还能访问到.
通常的都是两者结合着用的. cookie的话你自己就可以通过对浏览器的设置禁用掉.这样就不起作用了

cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
session是服务器端缓存,cookie是客户端缓存。
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
session是服务器保持客户端状态信息的方案,一般是保存在服务器中的一块内存中,session超时时间在服务器端进行设置。
cookie是客户端保持用户信息的方案,一般是文件形式保存,cookie清空时间是在客户端浏览器设置。
从开发角度说,session信息可以通过技术方案写到客户端保存,cookie中的用户信息,也可以在用户访问该网站时,通过技术手段自动更新用户的session信息。

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

建议:将登陆信息等重要信息存放为session;其他信息如果需要保留,可以放在cookie中

2)用户登录的原理是什么?
每次用户在网站的登录页面中输入用户名和密码时,这些信息都会发送到服务器。服务器随后会将你的密码与服务器中的密码进行验证。
如果两者不匹配,则你会得到一个错误密码的提示。如果两者匹配,则成功登录。

3)用户登录时发生了什么?
登录后,web 服务器会初始化一个会话session并在你的浏览器中设置一个 cookie 变量。该 cookie 变量用于作为新建会话的一个引用。
搞晕了?让我们说的再简单一点。

4)会话的原理是什么?
服务器在用户名和密码都正确的情况下会初始化一个会话。会话的定义很复杂,可以把它理解为“关系的开始”。

认证通过后,服务器就开始跟用户展开一段关系了。由于服务器不能象我们人类一样看东西,它会在我们的浏览器中设置一个 cookie 来将我们的关系从其他人与服务器的关系标识出来。

什么是 Cookie?
cookie 是网站在用户的浏览器中存储的一小段数据。当用户登录后,服务器为用户创建一段关系或者说一个会话,然后将唯一标识这个会话的会话 id 以 cookie 的形式存储在用户的浏览器中。所有这些东西存在的原因在于识别出用户来,这样当用户写评论或者发推时,服务器能知道是谁在发评论,是谁在发推。当用户登录后,会产生一个包含会话 id 的 cookie。这样,这个会话 id 就被赋予了那个输入正确用户名和密码的人了。也就是说,会话 id 被赋予给了拥有这个账户的人了。之后,所有在网站上产生的行为,服务器都能通过他们的会话 id 来判断是由谁发起的。

如何让用户保持登录状态?
会话有一定的时间限制。这一点与现实生活中不一样,现实生活中的关系可以在不见面的情况下持续很长一段时间,而会话具有时间限制。用户必须要不断地通过一些动作来告诉服务器用户还在线。否则的话,服务器会关掉这个会话,而用户会被登出。不过在某些网站上可以启用"保持登录"功能,这样服务器会将另一个唯一变量以 cookie 的形式保存到我们的浏览器中。这个唯一变量会通过与服务器上的变量进行对比来实现自动登录。若有人盗取了这个唯一标识(我们称之为 cookie stealing),他们就能访问用户的账户了。

原文地址:https://www.cnblogs.com/kevingrace/p/8458105.html

时间: 2024-11-09 18:32:09

Session会话与Cookie简单说明的相关文章

会话技术: Cookie 和 Session

会话技术 会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话. Cookie 和 Session 都是处理会话技术的两种具体实现,Cookie将数据保存在客户端,Session将数据保存在服务器端. Cookie技术 1.Cookies是存储在客户机的文本文件,可以保存一系列的信息.通常服务器有三个步骤来识别不同的客户机: 服务器脚本发送一系列cookies至浏览器.比如名字,年龄,ID号码等等. 浏览器在本地机中存储这些信息. 当下一次浏览器发

会话技术cookie和session详解

什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据. 例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,以便于用户点结帐servlet时,结帐servlet可以得到用户商品为用户结帐. 会话技术分类 会话技术会为两类 Cookie Cookie是客户端技术,程序把每个用户的数

会话管理cookie&session

1.会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话.2.问题:如何在一次会话中保存会话相关的数据.3.Cookie:将会话相关的数据保存到浏览器中,并且在每次访问服务器时都带过去.(浏览器端技术)    3.1javax.servlet.http.Cookie,可以直接利用此类的构造方法创建一个Cookie,创建出来的Cookie需要设置一个名称和值    3.2response身上具有addCookie的方法,可以将创建出来的组织成响应消息

会话Cookie及session的关系(Cookie & Session)

会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用session和客户端之间进行通信,以及jsessionId是怎么回事,这并没有一个完整和正确的认识,因此这里将这类信息汇总. session中的jsessionId是在session创建好之后,发送给客户端.然后在每一次请求中,客户端即会将这个信息传递给服务器端,服务器端使用这个信息来维护和客户端之间的会话通信,

2014-07-09 Java Web的学习(5)-----会话管理(Cookie和Session)

1.什么是会话 会话,牛津词典对其的解释是进行某活动连续的一段时间.从不同的层面看待会话,它有着类似但不全然相同的含义.比如,在web应用的用户看来,他打开浏览器访问一个电子商务网站,登录.并完成购物直到关闭浏览器,这是一个会话.而在web应用的开发者开来,用户登录时我需要创建一个数据结构以存储用户的登录信息,这个结构也叫做会话.因此在谈论会话的时候要注意上下文环境.而本文谈论的是一种基于HTTP协议的用以增强web应用能力的机制或者说一种方案,它不是单指某种特定的动态页面技术,而这种能力就是保

JavaWeb学习笔记五 会话技术Cookie&Session

什么是会话技术? 例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户访问服务器端资源时,服务器并不知道该客户端是谁,所以需要会话技术识别客户端的状态.会话技术是帮助服务器记住客户端状态(区分客户端). 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会话技术就是记录这次会话中客户端的状态与数据的.会话技术分为Cookie和Session: Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除

Cookie&Session会话跟踪技术

今日内容学习目标 可以响应给浏览器Cookie信息[response.addCookie()] 可以接受浏览器Cookie信息[request.getCookies()] [创建cookie,设置path和Age] 理解cookie的执行原理(重要) 可以对session的作用域数据进行操作:存放,获得,移除 理解session的执行原理(重要) 一,记录用户的上一次访问时间 当用户访问某些WEB应用时,经常会显示出上一次的访问时间.例如QQ登录成功后,会显示上一次的登录时间.通过本案例读者将学

会话跟踪Cookie与Session

会话跟踪用来跟踪用户的整个会话,常用的是Session和Cookie.Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,把请求的网址连同该Cookie一同交给服务器.服务器检查该Cookie,以此来辨认用户状

Cookie&&Session会话技术之再体验

1.转发与重定向[****]    * 重定向:重新确定请求方向        * 发送者:服务器 --> 响应(response)浏览器        * 执行者:浏览器 --> 重新请求        * 跳转        * response.sendRedirect("/day04/1.html");        * //完全等价,隐藏了HTTP协议的具体要求        * response.setStatus(302);        * response