编程:Session和Cookie的关系
定义及用途
- Session和Cookie都是用于保存用户与服务器之间会话的数据
- Session和Cookie都具有独立性,也就是不同的用户和不同的服务器之间的联系都是不同的Session(Cookie)
就因为上述的性质,Session和Cookie都用于web网站保存用户的访问信息,这是因为http协议是无状态性的,也就是无法传递上次访问的状态信息
使用方式
- 一般意义上来说,Session是存储在服务器端,而Cookie是存储在客户端,也就是用户可以修改Cookie的存储信息,而Session用户不可以修改,也修改不到
- 但实际上web访问中,实现Session功能是建立在Cookie的功能基础上,Session是通过对于用户的第一次访问生成一个SessionID,并将这个SessionID添加在该访问的Cookie中,用于第二次访问中传递该SessionID,在旧版本的浏览器中还不支持Cookie,都是通过URL后面添加get方法传递的变量实现该SessionID的传递
- 用户清除了自己电脑的Cookie后,就没有Session信息就是上面的原因,但实际Session还存储在服务器环境中,只是没有SessionID就获取不到了,到规定的缓存时间会被清除
不同语言实现Session的方式不同,当然也可以自己扩展,因为基本原理就是一个SessionID的传递,但需要注意的是,一定要保证性能,因为该操作是每次请求都需要的