文档章节

Cookie和Session

张亦Miki
 张亦Miki
发布于 2016/10/09 11:36
字数 666
阅读 4
收藏 0
  • 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session. 典型的场景比如购物车,当你点击下单按钮时,

    由于HTTP协议无状态, 所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。

    这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,

    一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session

  • 思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现

    Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,

    我就知道你是谁了。有人问,如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上

    一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。

  • Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,

    网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,能够方便一下用户。这也是Cookie名称的由来,给用户的一点甜头。

  • 所以,总结一下:Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;Cookie是客户端保存用户信息的一种机制,

    用来记录用户的一些信息,也是实现Session的一种方式。

© 著作权归作者所有

共有 人打赏支持
张亦Miki
粉丝 1
博文 1
码字总数 666
作品 0
崇明
程序员
私信 提问
PHP学习10——Cookie和Session技术

主要内容: Cookie技术 创建cookie 查看cookie 读取cookie 用cookie记录访问时间和次数 删除cookie cookie的生命周期 Session技术 session工作原理 session控制 session的存储结构 传递sessi...

乌云上
08/08
0
0
python3-django session支持-缓存+数据库Session或cookies加密

  缓存+数据库Session      配置settings.py   SESSIONENGINE='django.contrib.sessions.backends.cacheddb'#引擎   SESSIONCACHEALIAS='default'#使用的缓存别名(默认内存缓存,...

运维菜
03/15
0
0
cookie与session区别及用法

cookie与session 区别 下面是cookie与session各自的特点,其实通过它们特点的不同就能看出他们的区别,我就不总结区别了,可以将他们的特性进行比较,不同之处就是他们的区别。 cookie特性 ...

马大哈tt
2017/11/21
0
0
彻底明白php的session机制

1.session.save_handler = files * 1. session_start() 1). session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中, PHP自身的垃圾回收是无效的,SES...

雍雍_yoyo
2013/08/22
0
5
yii get post cookie session

获取GET/POST过来的数据 Yii::app()->request->getParam('id'); # $GET['id'] or $POST['id'] session/cookie $_SESSION 等价于 Yii::app()->session; //启动session $session=new CHttpSes......

rooney
2014/07/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day178-2018-12-15-英语流利阅读-待学习

“真蛛奶茶”了解一下?蜘蛛也会产奶了 Lala 2018-12-15 1.今日导读 “蛋白质含量是牛奶的 4 倍,并有着更低的脂肪和含糖量”,听起来诱人又美味的并不是羊奶或豆奶,而是你可能打死都想不到...

飞鱼说编程
18分钟前
3
0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents

场景重现 npm install --verbose 安装依赖的时,出现如下警告 强迫症患者表示不能接受 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):npm WARN......

taadis
22分钟前
1
0
MySQL自增id超大问题查询

引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,“快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了,插入...

dragon_tech
35分钟前
3
0
OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文 :分享Roy Orbison的单曲《She's a Mystery to Me》 《She's a Mystery to Me》- Roy Orbison 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
279
6
Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部