zoukankan      html  css  js  c++  java
  • 20150116--Cookie+Session

    image

    需求:跨脚本共享数据(变量信息)

    会话技术

    会话:当前通话,当前用户在当次打开浏览器不关闭的过程称为一次会话

    会话技术:指在浏览器不关闭期间,访问一个网站的多个网页的时候,能够实现信息的跨脚本共享。

    会话技术分为两类:cookie和session

    COOKIE技术

    cookie技术:是一种服务器将数据保存到浏览器,然后浏览器在下次访问该网站的时候,会自动将服务器保存的数据携带给服务器的技术。

    cookie原理

    clip_image002

    clip_image004

    cookie操作

    1. 通过header设置响应头(显示的修改HTTP响应头)

    header(‘set-cookie:名字=值’);

    clip_image006

    后续访问就可以访问到cookie

    clip_image008

    PHP中想要获取cookie都是通过超全局预定义变量$_COOKIE,$_COOKIE是一个数组,会保存当前浏览器携带过来的全部cookie数据。

    浏览器关闭

    clip_image010

    2. 使用setcookie函数设定cookie

    setcookie(名字,值);

    cookie跨脚本共享

    clip_image012

    setcookie设置cookie

    clip_image014

    cookie过期

    cookie保存在浏览器的有效时间,如果当前时间已经达到了cookie的生命上限,意味着cookie就会失效,浏览器就不会携带cookie去访问服务器。

    默认的cookie的失效时间是浏览器关闭(会话结束)

    在setcookie函数第三个参数,就是用来控制cookie的生命周期,默认是0,代表浏览器关闭就失效

    clip_image016

    通过setcookie的第三个参数,可以主动控制cookie的失效时间:使用有效期(时间戳)

    clip_image018

    控制cookie在浏览器关闭之后也不过期

    clip_image020

    cookie的作用域

    cookie只能给当前文件及其子目录里面的文件共享,但是默认的是不能给父目录的文件共享。

    clip_image022

    通常,对网站进行设计的时候,需要的整个网站都能够共享cookie,需要通过setcookie的第四个参数:作用域,来进行控制。设置整站的可以通过相对路径“/”(网站根目录)

    clip_image024

    跨域共享cookie

    在不同的域名之下都能共享cookie数据。

    一级域名:域名之前只有一级名称:itcast.cn

    二级域名:在一级域名有两级名称:www.itcast.cn

    跨域共享cookie:指的是不同的二级域名能够共享数据,前提是他们的一级域名相同。

    通过setcookie的第五个参数来实现。

    clip_image026

    $_COOKIE操作

    $_COOKIE不能存放数组,默认的$_COOKIE只能是一个一维数组。

    clip_image028

    擦边球:php会主动将[]当成数组处理,但是浏览器不会

    clip_image002[4]

  • 相关阅读:
    机器学习-分类算法-决策树,随机森林10
    机器学习-分类算法-模型选择与调优09
    机器学习-分类算法-精确率和召回率08
    机器学习-分类算法-朴素贝叶斯算法07
    机器学习-分类算法-K-近邻算法06
    java读取自定义配置文件并引用
    kafka发布消息报错LEADER_NOT_AVAILABLE
    Kettle位置参数(Argument)、命名参数(Parameter)、变量(Variable)
    kettle里的两个参数和一个变量
    如何在命令行下运行kettle的作业(job)和转换(transform)
  • 原文地址:https://www.cnblogs.com/lifushan/p/5419435.html
Copyright © 2011-2022 走看看