【JavaEE】-- Cookie Session
1. CookieHTTP协议自身是属于“无状态”协议。无状态默认情况下HTTP协议的客户端与服务器之间的这次通信和下次通信之间没有直接关系。但是在实际开发中我们很多时候是需要知道请求之间的关联关系的比如保存登陆状态。上图中的“令牌”通常就存储在Cookie字段中。2. Session会话对话。在计算机领域中会话是一个客户端与服务器之间的不间断的请求响应。当一个未知的客户向Web应用程序发送第一个请求时就开启了一个会话当客户结束会话或服务器在一个时限内没有接收到客户的任何请求时会话就结束了。服务器在同一时刻接收到的请求时很多的对于同一个客户向服务器发送的请求我们希望服务器能够识别出请求来自于同一个客户。那么就需要在服务器这边记录每个会话以及用户的信息的对应关系。Session是服务器为了保存用户信息而创建的一个特殊的对象。session的本质Session 的本质就是一个哈希表这个哈希表中存储了一些键值对结构。keySessionID;Value用户信息。SessionId是由服务器生成的一个唯一性字段站在登陆流程上来看也可以将这个唯一性字符串称为token.当用户登陆时服务器在Session中新增一个新的记录并把sessionId返回给客户端通过HTTP响应中的Set-Cookie字段返回。客户端后续再给服务器发送请求的时候需要再请求中带上sessionId(通过HTTP请求中的Cookie字段)。服务器收到请求之后根据请求中的SessionId在Session信息中获取到对应的用户信息再进行后续操作找不到则重新创建Session并把SessionId返回。注意session默认是保存在内存中的如果重启服务器则Session数据就会丢失。3. Cookie 和 Session 的区别Cookie是客户端保存用户信息的一种机制.Session是服务器端保存用户信息的一种机制.Cookie 和 Session之间主要是通过 Sessionld 关联起来的, Sessionld 是 Cookie 和 Session 之间的桥梁。Cookie 和 Session 经常会在一起配合使用.但是不是必须配合.1. 完全可以用Cookie来保存一些数据在客户端.这些数据不一定是用户身份信息也不一定是Sessionld。2. Session 中的sessionld 也不需要非得通过Cookie/Set-Cookie 传递,比如通过URL传递.
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2410185.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!