小白理解Session与Cookie

Posted 考虑为什么

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小白理解Session与Cookie相关的知识,希望对你有一定的参考价值。

小白理解Cookie与Session

web程序之间的通信主要是基于http协议,但是http协议是无状态的,这就造成用户重复去访问某个服务器(网站)时,服务器(网站)每次都会把用户当成是新用户来进行处理,为了追踪用户的状态,这就引入了Cookie和Session机制。

Cookie是客户端保存用户的状态,Session是服务器端保存用户的状态。

1、Cookie机制

(1)存储:在用户浏览某些网站时,这些网站会把用户的一些数据存在客户端;

(2)分类:

会话Cookie:如果不设置过期时间,则表示Cookie的生命周期为浏览器的会话时间,关闭浏览器,Cookie就消失了,数据被存储在浏览器的内存里;

持久Cookie:如果设置了过期时间,关闭浏览器时,Cookie不会消失,再打开浏览器,Cookie依然有效,直到超过设置的过期时间;

2、Session机制

(1)存储:在用户浏览某些网站时,用户的一些数据会被存储在网站的服务器,但会给用户返回一个session id,也是一个cookie小文件,存储在客户端;

(2)保存Session id的几种方式:

采用cookie:交互过程中,浏览器会自动把Session id发给服务器端;

URL重写:把Session id 附加到URL的后面,有两种方式,一种是作为URL路径的附加信息,一种是作为查询字符串附加到URL后面;

表单隐藏字段:服务器自动修改表单,添加一个隐藏字段,在表单提交时,可以把Session传回服务器;

3、实现记录我的登录状态功能

当用户注册某个网站时,网站的服务器就会给用户返回一个Session id,当用户再次登录这个网站时,Session id被返回到服务器,服务器利用Session id检查用户是否注册并有自动登录功能等,并让用户做出相应的操作;但是,服务器端的Session 不会是一直存在的,过一段时间,服务器的Session就会被销毁,以减轻服务器端的压力。

比较常用的方法是,Cookie和Session结合,把用户的用户名和加密之后的密码通过Cookie存放在客户端,当服务器上的Session销毁以后,使用Cookie里面存放的用户名和加密之后的密码重新执行一次登录操作,重建Session,并更新客户端上Cookie中存放的的Session iD。

 

以上是关于小白理解Session与Cookie的主要内容,如果未能解决你的问题,请参考以下文章

小白理解Session与Cookie

Connect/Express 中的“session”和“cookieSession”中间件有啥区别?

cookiesession和java过滤器

彻底讲清Web开发的CookieSession机制

CookieSession登陆验证相关介绍和用法

cookiesession总结