Cookie与Session

Posted raintosh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cookie与Session相关的知识,希望对你有一定的参考价值。

目的

  Http是无状态的协议,当用户端访问服务器端时,服务器端无法识别是谁发送的请求,Cookie和Session的存在就是为了解决这个问题

Cookie

  Cookie简单讲就是一段文本,当客户端发送请求访问服务器端时,服务器会生成一个Cookie随response包发给客户端,客户端会在本地将Cookie保存起来。以后每次客户端发送消息给服务器是都会把URL连同Cookie一起发给服务器。服务器会检查Cookie来确认用户身份和状态。服务器也可以根据需求修改cookie。

  Cookie分为回话cookie和持久cookie,默认为会话cookie即当用户关闭浏览器后cookie就自动消失,而持久cookie是修改cookie的存活时间后,即使关闭浏览器cookie依然存在,直到设置的生存时间。

Session

  session是一种记录客户端状态的一种机制。当客户端访问服务器端时,服务器首先会检查请求包是否有sessionId,如果就扫描本地session是否有这个sessionId,有则根据这个sessionId把这个session检索出来,没有或请求里没有sessionId,服务器就会创建一个session并生成一个对应的sessionId,把这个sessionId同响应包一同发给客户端。

session的实现:

1. 依赖于cookie,用户端将sessionId作为cookie保存在本地浏览器里

2. URL重写,用户端每次发送消息给服务器端时都将URL连同sessionId一起发给服务器

3. 表单隐藏字段,浏览器会自动修改表单添加一个字段,在提交表单时连同sessionId一起发给服务器

以上是关于Cookie与Session的主要内容,如果未能解决你的问题,请参考以下文章

cookie与session

Web会话跟踪:Cookie与Session

1204 中间件以及cookie,session

[TimLinux] HTTP cookie与session技术

Session

cookie/session应用笔记