彻底搞懂Session和Cookie

一、概念

1.1、什么是HTTP无状态?

无状态是指的,无登录状态,即服务器不知道某个用户是否已登录过了。

1.2 让服务器有记忆能力之Cookie、Session

  • Cookie
    Cookie 是一小段文本信息。客户端请求服务器,如果服务器需要记录用户状态,就使用response向客户端浏览器颁布一个Cookie,客户端浏览器会把Cookie保存起来。
    Cookie不具有跨域名性。
    Cookie有大小限制,4kb

  • Session
    Session 是另一种记录客户状态的机制,Session保存在服务端。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

  • Cookie和Session 的关系

cookie 是一个实际存在的、具体的东西,http 协议中定义在 header 中的字段。
session 是一个抽象概念、开发者为了实现中断和继续等操作,将client和server之间一对一的交互,抽象为“会话”,进而衍生出“会话状态”,也就是 session 的概念
session描述的是一种通讯会话机制,而cookie只是目前实现这种机制的主流方案里面的一个参与者,它一般是用于保存session ID。

1.3 token

彻底搞懂Session和Cookie_第1张图片

二、常见问题

2.1 分布式集群环境Session 获取不到

例如session共享、iphash、session持久等也可以解决上述问题

你可能感兴趣的:(Java基础,java)