关于PHP会话:session和cookie
会话处理解决什么问题
HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本、图形、视频和全部其它的数据的规则。HTTP是一种无状态协议,每次请求的处理,都与之前和之后的请求无关。
会话处理是这样的无状态问题的解决的方法。它的实现方式是为每一位站点訪问者分配一个称为会话ID(SID)的唯一标志属性,然后将此SID与随意数量的数据关联。
会话处理流程
- 浏览器向server发送请求
- server为訪客建立会话ID(SID)。通常SID存储在server端一个文件里。
- 存储在client($_COOKIE[‘PHPSESSID’]或者url參数)
- 浏览器再次向server发送请求
- server通过读取cookie(或者url的參数)来验证SID是否依旧同一次会话
- 离开站点,会话结束
问题
SID是怎样被写到cookie中去?
PHP 会话启动以后,会给每一个訪客分配一个SID,这个SID同一时候会写到client的cookie中去,默认cookie变量名为:PHPSESSID。
这里说同一时候是不确切的由于下页代码仅仅会在刷新页面以后,才干取到cookie:
session_start();
echo('SID:'.session_id().'<hr/>');
echo('Cookie_sid:'.$_COOKIE['PHPSESSID'].'<hr/>');
cookie被禁用了,session会不会同一时候失效?
在没有做不论什么准备的情况下。client禁用cookie确实会让session失效。
书上(PHP与MySQL程序设计 第三版)说。client存储SID的方式有两种,一种是cookie,一种是重写URL来传递。
能够在php.ini文件里更改session.use_trans_sid的值,来实现url的自己主动重写。但笔者没有做測试。
会话在server端的存储方式
默认情况下,session 以文件方式存储在server上。在php.ini文件里可做相关设置:
session.save_handler=files
session.save_path = "N;MODE;/path"
save_handler值有四个:
files平面文件mm共享内存sqliteSQLite数据库user用户自己定义函数
通过user方式,能够用自己定义函数与会话配合。看上去功能非常强大。
但没时间去实操。有空再研究。
关于PHP会话:session和cookie的更多相关文章
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
- session 和cookie
(1)cookie与session---------->>>>>>>>>>>>>>>>>>& ...
- Session和Cookie详解(1)
面试常问的有关session和cookie的问题: 1.session在分布式环境下怎么解决 2.集群下如何保证session踩中 3.cookie的大小 4.服务器怎么识别一个用户的 5.sessi ...
- Django中的session和cookie及分页设置
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- java的会话管理:Cookie和Session
java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...
- 会话技术( Cookie ,Session)
会话技术: 会话:浏览器访问服务器端,发送多次请求,接受多次响应.直到有一方断开连接.会话结束. 解决问题:可以使用会话技术,在一次会话的多次请求之间共享数据. ...
- PHP会话管理:cookie和session
PHP会话管理1.cookie数据存储在浏览器端方便与JavaScript交换数据方便获取用户信息风险-浏览器可能会禁用cookie替代方案-URL参数 2.session数据存储在服务器高效.安全. ...
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- 会话控制:cookie和session基础学习笔记
在多次HTTP连接间维护用户与同一用户发出的不同请求之间关联的情况称为维护一个会话(session) 我们可以简单理解为浏览器的开关. 其实对cookie和session也是主要为curd操作 coo ...
- 理解会话中的Cookie和Session对象
会话可以简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 在java语言中,Servlet程序是由WEB服务器调用,web服务器收到客 ...
随机推荐
- Elasticsearch之CURL命令的DELETE
也可以看我写的下面的博客 Elasticsearch之curl删除 Elasticsearch之curl删除索引库 删除,某一条数据,如下 [hadoop@master elasticsearch-] ...
- cordova科大讯飞语音识别
cordova-plugin-IFlyspeech 科大讯飞的语音听说读写的cordova插件 Supported Platforms iOS android Installation 插件安装命令: ...
- suse 下的gcc安装
在付出了一天的努力之后终于在win7系统上面硬盘安装suse操作系统成功,可是随之而来的问题居然是没有安装GCC,这对我来说是一个不小的打击,因为很多工作和工具安装需要通过GCC来编译,因此我只好求助 ...
- 3星|《管理十诫》:十年前可口可乐退休CEO的一生管理经验总结
管理十诫:影响你一生的管理哲学 英文书应该是2008年出版的.国内出版过几个译本. 作者是可口可乐CEO.本书是他从可口可乐CEO退下来后写的管理经验总结.作者总结了11条CEO不应该做的事.这11条 ...
- 3星|《商业周刊中文版:2017商业人物(下)》:酒店才应该是出行住宿的最佳选择,Airbnb不是
商业周刊/中文版:2017商业人物(下) 对一些知名商业人物的访谈的合辑. 总体评价3星,有一些参考价值. 以下是本期一些内容的摘抄: 1:段永平是一位隐秘的亿万富豪,去年,他创立的智能手机姊妹品牌O ...
- Centos7搭建lamp环境
首先安装apache Centos7默认已经安装httpd服务,只是没有启动. 如果需要重新安装,输入 yum install -y httpd 启动服务: systemctl start httpd ...
- Centos6.7安装Cacti教程
Centos6.7安装Cacti教程# link:http://docs.cacti.net/plugins/ blog地址:http://www.cnblogs.com/caoguo 一.基本环境安 ...
- vue里的tab控件
如下图,v-model绑定的值,这个值在js里一旦改变,视图就会切换到相应的tab页,这意味着一定要先给tab页内容数据赋值,再改变这个tabsIndex的值 如下图,先赋值data列表数据,在更改t ...
- python socket 接口
一.简介 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求.socket起 ...
- SpringMVC进行json数据交互
请求key/value.输出json.此方法在开发中比较常用. 在注解适配器中加入messageConverters <!--注解适配器 --> <bean class=" ...