1.会话控制概括

1)http协议的缺陷

无状态,就是无记忆,不能让同一浏览器和服务器进行多次数据交换时,产生业务的连续性,

2)什么是会话控制

  会话控制就是解决http无记忆缺陷的,能够==将数据持久化的保存在客户端(浏览器)或者服务端==,从而让浏览器和服务器尽心==进行多次数据交换时产生连续性.

3)会话控制的分类

  分为两种:cookie(客户端)和session(服务器端)

2.cookie技术

1)什么是cookil?

cookil是将数据持久化存储到客户端的一种技术.

网站可以将数据写在浏览器中.一个网站最多能在一个浏览器写20个coolie.

一个浏览器能够设置的总cookie数最多为300个,每个不能超过4kb.

cookie既能保存在文件中,也能保存在内容中.

2)设置/读取cookie

=>1) 设置cookie

  setcookie(var1 , var2, var3);

  var1: cookie的名称

  var2: 名称对应的值, 可选参数

  var3: cookie的有效期, 可选参数

=>2)读取coolie值

  使用php的超全局变量 $_COOKIE进行读取

=>3)cookie有效期

  setcookie函数的参数3可以控制cookie有效期

  

参数3设置为-1 或者 不设置,关闭浏览器即失效
参数3设置为 time()+秒数,则在当前时间点的多少秒之后失效

=>4)cookie的有效范围

  setcookie函数还有参数4、5,可以用来控制cookie的有效访问,但是一般不用

=>5)cookie删除

  setcookie函数第二个参数设置为null,就可以删除cookie

3.session技术

 1)session介绍   

    因为cookie是保存在客户端的数据,不够安全,所以出现了session。session会将数据保存到服务器端(保存在文件、内存服务器或数据表中),安全性就可以得到保证。

 2)设置/读取session

    php使用session时,首先要使用session_start()函数来开启session.

    $_SESSION 超全局变量就能设置和读取session中的内容

3)session的作用范围

    在当前网站的任何一个页面设置过session,则该网站的所有页面都能得到给session的数据 

4)session的有效期

浏览器关闭时,session消失

5) 删除session

  unset($_SESSION['name']   //删除单个session

  session_destroy();                 //删除所有session

4.session和cookie总结

  

cookie小结:

1) 将数据保存在客户端,安全性不好,但是可以保存的数据量较大。

2) 设置cookie使用 setcookie(var1, var2, var3)

var1: cookie名称
var2: 名称对应的值
var3: 有效期。 可选参数,如果不设置该值或者设置为-1,浏览器关闭则cookie消失;time() + 3600

  

3) 使用$_COOKIE 预定义数组来读取cookie

4) cookie的有效范围: 当前目录及子目录;上级目录无效

5) 删除cookie: setcookie(‘name’, null);

session小结

1) 将数据保存在服务器端,安全性高,但是不能保存大量的数据。一般来讲session当中保存的都是用户信息。

2) 使用session时,首先要使用 session_start函数开启session

3) 设置和读取session时,都是用$_SESSION['name'] = 'zs'; $_SESSION['name'];

4) session的有效范围,在一个域名下设置session,在整个域名范围内都有效

5) session有效期: 关闭浏览器,session就消失

6) 删除session

      unset($_SESSION[‘name’]);    //删除单个
sessionsession_destroy();   //删除所有session

php cookie及session的更多相关文章

  1. Cookie和Session的总结

    1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...

  2. java的会话管理:Cookie和Session

    java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...

  3. Cookie和Session的那些事儿

    Cookie和Session都是为了保持用户的访问状态,一方面为了方便业务实现,另一方面为了简化服务端的程序设计,提高访问性能.Cookie是客户端(也就是浏览器端)的技术,设置了Cookie之后,每 ...

  4. django的cookie和session以及内置信号、缓存

    cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...

  5. Cookie和Session的区别

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...

  6. 本地数据Store。Cookie,Session,Cache的理解。Timer类主要用于定时性、周期性任务 的触发。刷新Store,Panel

    本地数据Store var monthStore = Ext.create('Ext.data.Store', { storeId : 'monthStore', autoLoad : false, ...

  7. Cookie与Session

    再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...

  8. 【转】Cookie和Session区别和联系详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  9. 理解Cookie和Session机制(转)

    目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...

  10. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

随机推荐

  1. Spring IOC 剖析

    模拟实现 Spring Ioc 控制反转功能 使用 => 原理 => 源码 => 模拟实现 使用:了解 原理:熟悉 源码 And 模拟实现: 精通 对照 Spring 功能点 Spr ...

  2. Springboot常用的注解

    1.@Controller主要用来修饰类,用来处理http请求 2.@ResponseBody主要用来修饰类和方法.返回字符串和json数据,不用来返回模板. 3.@RestController主要用 ...

  3. java二进制表示形式与移位操作符

    java二进制表示形式 java中数字的二进制表示形式称为"有符号的二进制补码",下面先介绍原码,反码,补码. 编码 计算方法 原码 用最高位表示符号位,'1'表示负号,'0'表示 ...

  4. 2020-07-04:tcp三次握手干了啥?time_wait什么时候出现?

    福哥答案2020-07-04:三次握手如下:1.SYN j2.ACK j+1,SYN k3.ACK k+1 time_wait出现在断开连接第四次挥手的时候出现.TIME_WAIT状态存在有两个原因. ...

  5. 2020-05-21:es底层读写原理?倒排索引原理?

    福哥答案2020-05-21: es不熟悉,答案仅供参考:es写数据过程1.客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2.coordinatin ...

  6. Vue 使用$set动态给数据设置属性

    在实际的开发过程中,给表单元素绑定model的时候,绑定的元素的属性是根据后台数据动态生成的.如果使用常规的赋值方式,是无法更新视图的 需要使用, this.$set(dataName,keyName ...

  7. win10 安装msys2 和 ruby

    1.选择自己的版本 https://rubyinstaller.org/downloads/ Ruby+Devkit 2.5.1-2 (x64) Ruby+Devkit 2.5.1-2 (x86) 2 ...

  8. MIT 6.828 Lab04 : Preemptive Multitasking

    目录 Part A:Multiprocessor Support and Cooperative Multitasking Multiprocessor Support 虚拟内存图 Exercise ...

  9. Ubuntu LNMP环境的搭建

    一.安装nginx Step1:安装: sudo apt-get install nginx Step2:查看ngnix 运行状态 : service nginx status 查看80端口是否开启: ...

  10. 关于Redis的工作模式

    1.哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master. 缺点 ...