Cookie和Session

为什么需要session和cookie呢?

  • 主要原因时web系统的发展和变迁
  • web1.0强调的是资源的共享 http协议是一种无状态的协议
  • web2.0:强调的是交互,交互意味着是由多步操作,请求和请求之间是有依赖存在的。引入了session和cookie机制是来实现状态的记录。
  • web3.0:强调的是双赢。

Session和cookie的特征:

  • Session和cookie都是由服务器生成的,都是用来存储特定的值(键值对应)。
  • 一般来说,SessionId会以类似cookie的方式返回给客户端。SessionId是服务器用来识别、操作存储session值的对象的。一般来说,在服务器端,session的存储方式由文件类型、数据库方式,sessionId就是用来识别这个文件的、识别数据库的某一条记录的。
  • sessionId并不是session值。
  • 客户端在发送请求的时候,会自动将存活,可用的cookie封装在请求头中和请求一起发送。
  • cookie和session都是有生命周期的。

cookie的生命周期

cookie受两个因素的影响:

  • 1.cookie自身的存活时间:是服务器生成cookie时去设定的。
  • 2.客户端是否保留了cookie。客户端是否保留cookie,只对客户端自身有影响,对其他封包工具时没有影响的。

session的生命周期也是受到了两个因素的影响

  • 1.服务器对于session对象的保存的最大时间的设置。
  • 2.客户端进程是否关闭。客户端进程关闭,只对客户端自身有影响。对其他的封包工具是没有影响的。

cookie和session是有自己的作用域的。

为什么session比cookie安全?

cookie时存储在客户端的,是可见的,是可以改变的。
session是存储在服务器端的,是不可见的,是不可以改变的。

上一篇:CMMI之功能点估算法:EI 、EQ、EO


下一篇:Cookie和Session