先简单介绍下
- cookie机制采用的是在客户端保持状态的方案
- session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择
- 客户端保留服务端的sessioID
- 正统的cookie分发是通过扩展HTTP协议来实现的
- 服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie
- 纯粹的客户端脚本如JavaScript也可以生成cookie
- cookie的内容主要包括:名字,值,过期时间,路径和域。
- 若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。
- 若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。
- 服务器首先检查这个客户端的请求里是否已包含了一个session标识(session id),如果已包含则说明以前已经为此客户端创建过session,
- 服务器就按照session id把这个session检索出来使用(检索不到,会新建一个)
- 如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id
- 经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。
- 还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。
总结:
- 将登陆信息等重要信息存放为SESSION
- 其他信息如果需要保留,可以放在COOKIE中
时间: 2024-10-13 12:24:27