Cookie和Session详解

打印 上一主题 下一主题

主题 861|帖子 861|积分 2583

二者的作用


Cookie是存在于客户端的“客户通行证”。
Session是存在于服务端的“客户档案表”。

二者的作用都是跟踪用户的整个会话。

Cookie:

产生的缘由:

一个用户的所有请求操作对应一个会话,另一个用户则对应另一个会话,但是由于HTTP协议的无状态特性,服务器无法单从连接上跟踪到会话。来源:

服务端response向客户端浏览器颁发Cookie,存储在客户端的浏览器中。作用:

当浏览器再次请求该网站时,浏览器把url+Cookie提交给服务器,在服务端进行验证。性质:

不可跨域 (域名不同的两站点,互不干涉彼此的Cookie)编码方式:

BASE64(保存二进制图片);Unicode(保存中文UTF-8)重要属性:

name       Cookie名称
value        Cookie值
maxAge   Cookie失效时间(如果为0,即为删除cookie)
secure      是否仅被使用安全协议传输,HTTPS、SSL
path         Cookie的作用路径
domain    可以访问该Cookie的域名
记住密码的实现思路:

账号按一定规则加密后,连同账号一起保存到Cookie,下次访问时只需判断账号加密规则是否正确即可。Session:

服务端使用的记录客户端状态的机制。Session相当于在服务器上建立的一份客户档案表。生命周期:

Session在用户第一次访问浏览器时自动创建,只要用户访问,服务器就会更新Session最后访问时间。浏览器中新开的窗口会生成新的Session,但子窗口除外,子窗口共用父窗口的Session。
客户端如果不支持cookie怎么办?

URL地址重写:将用户的session id信息重写到URL地址中,服务器解析重写后的URL,获取Session id。
会话完整流程:


  • 用户输入登录信息。
  • 服务器验证信息,并创建Session,存储到数据库(Redis)。
  • 服务器为用户生成Session id,将带有Session id的Cookie放在用户浏览器。
  • 续请求中,根据数据库验证Session id ,有效则接受。
  • 注销,会话在服务器和客户端都被销毁。
免责声明

本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除。原文作者:Snippers   原文来源:CSDN
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表