session 和 cookie

cookie :

  • http 是无状态协议 所以 不会知道 这次的请求跟上次的关系   所以就有了cookie 是由服务器生成但是存在客户端 (伴随着就是不安全的) 。
  • 只能时同一路径  下才能访问,第一次请求的时候会把cookieId 从服务端 发过来(在响应头中) .
  • 第一次生成的会在响应头里边加上cookie的健值,下一次在一定范围内也会携带着cookie 传入服务器
  • 存放地址是在硬盘上的
  • 可以指定路径访问(默认时所在路径)

session(会话) :--就是seeion 失效时会话结束

  工作原理:

  1. 写入seesion列表(Map)  
  2. 服务器生成发送Cookie(SessionId)
  3. 客户端并发送Cookie(SessionId)
  4. 从session列表中查找根据sessionId

  失效:--失效不等于null 只是与解绑所有与他绑定的对象 只是个空的对象 但是不为空

  1.  在失效时间(timeout)内一直未被访问,那么session失效 
  2. 也可以主动让他失效 有对应的方法
  • 服务器都应用的sessiond的管理是以Map 管理的 key  时sessionId ,value 是值的引用
  • 是在服务器端生成,但是也存在服务器端,生成session的时候就会生成一个cookie作为sessionId 作为session 的Key
  • 第一次请求的时候会把sessionId (以cookie的形式)从服务端 发过来(在响应头中) 随后  客户端就会发送一样的sessionID 来保持状态(不同浏览器  生成的session不一样)
  • 存放地址是浏览器缓存 没有在硬盘
  • 如果浏览器禁用cookie 也可以传递session 但是要在url ;sessionId='    ' 他能访问到,但是不安全
。net工程师
原文地址:https://www.cnblogs.com/yuners/p/12168414.html