关于Session
HTTP协议是无状态的协议,即:同一个客户端向同一个服务器发起的多次请求,每次请求时,服务器端都无法判断此客户端是不是此前来访问的客户端!
在开发软件时,为了使得服务器端能够识别客户端的身份,就引入了Session机制,当某个客户端第1次向服务器端发起请求后,服务器端会向客户端响应一个Session ID ,本质是一个UUID值,后续,当客户端向服务器端发起请求时,会自动携带此Session ID (由浏览器或编程相关的API等),服务器端将根据Session ID 来识别客户端的身份!
同时,在服务器端,Session表现为一个很大的K-V结构数据,将使用Session ID作为Key,则每个曾经来访的客户端(在Session未过期之前)在服务器端都有一份对应的Value。
由于Session的工作机制,导致Session可能存在以下不足:
● 不适合存储大量的数据
● 可以通过开发规范来解决
● 不适合用于集群或分布式系统
● 可以通过共享Session来解决,但是会带来新的问题
● 不可以长时间保存用户数据
● 无解