一、为什么要使用cookie和会话

HTTP是一种无状态技术,这意味着每个单独的HTNML页面都是一个无关的。当人们穿过站点时,HTTP 没有用于跟踪用户或保持变量的方法,尽管浏览器会跟踪你访问过的页面,但服务器不会记录谁看过什么内容。使用服务端技术可以克服Web的无状态性。可用于此目的的两种最佳的工具就是cookie和会话。

cookie和会话之间的关键区别是:cookie将数据存储在用户的浏览器中,而会话把数据存储在服务器上面。会话一般比cookie安全,并且可以存储更多的信息。

二、PHP如何使用Session

登陆过程涉及几个部分组成:

  • 用于提交登陆信息的表单
  • 确认必要信息已提交的验证例程
  • 比较提交的信息与存储的信息的数据库查询
  • 用于存储反映登陆成功的cookie或会话

后续页面将包含一些检查,用于确认用户已经登录(用于限制用于对某些页面的访问)。还有注销过程,涉及清除表示登录状态的cookie或会话数据。

PHP使用Session很简单,使用session_start()启动Session,然后就可以同过超全局变量$_SESSION添加、读取或修改Session中的数据。以下代码列举了Session的基本使用

session_start();
$_SESSION['username'] = 'JXC'; //向Session中添加数据
$_SESSION['info'] = array(1,2,3); if(isset($_SESSION['test']){
$tet = $_SESSION['test']; //读取Session中的数据
} unset($_SESSION['username']); //删除单个数据
$_SESSION = array(); //删除所有数据
session_destory() //结束当前会话

三、HTTP响应消息头

消息头 说明
Location 控制浏览器显示哪个页面
Server 服务器的类型
Content-Type 服务器发送内容的类型和编码类型
Last-Modified 最后一次修改时间
Date 响应网站的时间

cookie和会话的更多相关文章

  1. Java Web之会话管理一: 使用Cookie进行会话管理

    一.Cookie的概念 Cookie(会话)可以简单的理解为:用户开一个浏览器,点击多个链接,访问服务器多个web资源,然后关闭浏览器,整个过程称为一个会话. 二.会话过程中解决的问题 用户在使用浏览 ...

  2. express-12 Cookie与会话

    简介 HTTP是无状态协议.当浏览器中加载页面,然后转到同一网站的另一页面时,服务器和浏览器都没有任何内在的方法可以认识到,这是同一浏览器访问同一网站.换一种说法,Web工作的方式就是在每个HTTP请 ...

  3. 浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决的方法

    当浏览器禁用Cookies时.基于Cookie的会话跟踪机制就会失效.解决的方法是利用URL重写机制跟踪用户会话. 在使用URL重写机制的时候须要注意.为了保证会话跟踪的正确性,全部的链接和重定向语句 ...

  4. 如何利用服务器下发的Cookie实现基于此Cookie的会话保持

    Cookie是一种在客户端保持HTTP状态信息的常用技术,基于Cookie的会话保持常常出现在很多AX的部署案例中,尤其是涉及电子交易的系统部署中.此类系统往往要求负载均衡设备按照服务器下发的Cook ...

  5. nginx第三方模块---nginx-sticky-module的使用(基于cookie的会话保持)

    目前的项目网站架构中使用了F5和nginx,F5用来做负载均衡,nginx只用作反向代理服务器.最近应客户的要求准备去掉F5,使用软负载.大家都知道nginx抗并发能力强,又可以做负载均衡,而且使用n ...

  6. 基于hi-nginx的web开发(python篇)——cookie和会话管理

    hi-nginx通过redis管理会话. 要开启管理,需要做三件事. 第一件开启userid: userid on; userid_name SESSIONID; userid_domain loca ...

  7. Cookie&Seesion会话 共享数据 工作流程 持久化 Servlet三个作用域 会话机制

    Day37 Cookie&Seesion会话 1.1.1 什么是cookie 当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中.这样,当该浏览器 ...

  8. 使用Cookie进行会话管理

    javaweb学习总结(十一)——使用Cookie进行会话管理 一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. ...

  9. java web学习总结(十一) -------------------基本概念使用Cookie进行会话管理

    一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...

随机推荐

  1. 【原创】关于pyinstaller打包的程序执行出错问题,pyinstaller3.5只支持matplotlib3.0.2已经解决

    之前,在用pyinstaller打包一个python程序时没有问题,后来不知道什么原因,再打包时出现了所谓的pyinstaller打包报错: RecursionError: maximum recur ...

  2. ts中基本数据类型(上)

      /* 定义数组*/ var arr: number[] = [1, 2, 3]; var arr1: Array<number> = [1, 2, 3]; var arr2: [str ...

  3. 搜索练习题LETTERS

    题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1212    或者http://poj.org/problem?id=1154 题目描述: 给 ...

  4. 高级UI组件(二)

    1.图像视图 <ImageView android:id="@+id/imageView" android:layout_width="wrap_content&q ...

  5. minio gateway 代理s3 存储

    以前有写过使用minio gataway 代理nas 的,实际上还可以代理s3 ,hdfs....,以下是一个gatway 带来nas 以及s3 集成的模式 环境准备 docker-compose文件 ...

  6. 【EasyUI总结】EasyUI开发中遇到的坑

    普遍: 1.easyui在书写键值对的时候要注意是否要加引号,在需要加引号的地方不加则无法渲染: datagrid数据网格: 1.datagrid默认请求方式是post,如果要使用分页功能pagina ...

  7. 9个常用的正则表达式-sunziren

    正数字:/^[1-9]{1}[0-9]*$|^0{1}\.{1}[0-9]+$|^[1-9]{1}[0-9]*\.{1}[0-9]+$/ 用户名:/^[a-z0-9_-]{3,16}$/ 密码:/^[ ...

  8. Jenkins 插件安装问题

    插件安装问题 尝试修改更新站点为可用的镜像站点 打开 Jenkins > Manage Jenkins > Manage Plugins > Advanced,将 Update Si ...

  9. Origin-作图相关

    1.跨越缺失数据连接直线

  10. webservice之Http传输错误问题

    1.背景:调用第三方webservice服务,正常调用,但是最近由于第三方更换远程调用地址,并且发布服务器(A)是通过代理的方式请求真实服务器地址(B),于是本以为很简单的将客户端调用地址修改为发布地 ...