HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本、图形、视频和所有其他数据所有的规则。HTTP是一种无状态的协议,说明每次请求的处理都与之前或之后的请求无关。虽然这种简化实现对于HTTP的普及做出了卓越的贡献,但对于希望创建复杂的Web应用程序的开发人员来说,这点有点困扰。为了解决这个问题,出现了一种在客户端机器上存储少量信息(cookie)。

由于cookie大小限制、数量及其他原因,开发人员又提出了一种解决方案:session会话处理。

一.Cookie的应用

  //1 创建一个Cookie
//Cookie是在你的客户机存的一个小文件,这个文件包含你登录的信息
//第一个参数表示Cookie的名,第二个表示Cookie的值,第三个参数过期时间
setcookie('name','lee',time()+(7*24*60*60)); //2 读取本机的Cookie,采用一个超级全局变量$_COOKIE
//有个特性,setcookie并不是即使生成,它会慢一拍,意思就是第一次刷新只是覆盖了原来的,获取的还是原来的,但用的时候对我们没影响
echo $_COOKIE['name']; //3 用变量检测判断Cookie是否存在
echo isset($_COOKIE['name']); //4 删除Cookie
setcookie('name',''); //将值设置为空即可
setcookie('name','lee',time()-1); //通过过期时间也可以 //5 Cookie的限制
//1、必须在HTML文件的内容输出之前设置;
//2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。
//3、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。

Cookie登录例子:如果username和指定的姓名相同就登录

demo1:

<form method="post" action='demo2.php'>
姓名:<input type='text' name='username' />
<input type='submit' name='send' value='提交' />
</form>

demo2.php:

  //例子:如果username和指定的姓名相同,那么就生成一个cookie
//完成登录
if (isset($_POST['username']) && $_POST['username']=='dangxm') {
//如果成功,生成一个Cookie,再跳转
setcookie('name','dangxm');
header('Location:demo3.php');
}else {
header('Location:demo.php');
}

demo3.php:

<?php
if (isset($_COOKIE['name'])){
echo '欢迎光临:'.$_COOKIE['name'];
}else {
echo '非法登录';
} ?>

二.Session会话处理

  //Session会话处理,存在服务端,一般存放1440秒
//如果没有进行任何操作,会自动销毁,可以通过php.ini来修改默认时间
//即时性的,不会像Cookie慢半拍 //1 开启会话,只要用到,必须开启,一般放在文件开头
session_start();
//2 创建session
$_SESSION['name']='lee';
//3 取值
echo $_SESSION['name'];
//4 判断是否存在
if(isset($_SESSION['name'])){
echo $_SESSION;
}else {
echo "session不存在";
}
//5 删除session:unset();
unset($_SESSION['name']);
session_destroy();//销毁所有session,一般放在session_start();后用来销毁之前创建的所有session

Cookie使用于会员登录,购物车
因为不占有服务器资源,所以会员特别多,购物车特别多,就用Cookie
 
session一般用于后台管理登录,人少
安全性,一段时间不操作会自动登录

会话控制:Cookie和session的更多相关文章

  1. http协议。会话控制cookie、session

    http协议是无状态的协议.每次访问页面的http协议都是独立的,正是因为http协议是无状态的,所以导致访问一个页面后再去访问另一个页面的时候,一些数据会消失,比如:用户的登录信息就会消失.那么怎么 ...

  2. 会话控制cookie和session

    Cookie Cookie简介 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时, ...

  3. 会话控制——Cookie和Session

    Cookie简介 l  HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时,买了一条 ...

  4. 会话技术: Cookie 和 Session

    会话技术 会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话. Cookie 和 Session 都是处理会话技术的两种具体实现,Cookie将数据保 ...

  5. 会话技术cookie和session详解

    什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一 ...

  6. PHP-会话控制Cookie和Session

    会话控制:就是为了我们在访问页面和页面之间的跳转是,能够识别到你的登录状态,已经你的登录时长等 在php的会话控制当中,涉及到两个概念Cookie和Session Cookie 会话控制 原理:在登录 ...

  7. 会话管理---Cookie与Session

    会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 保存会话数据的两种技术:Cookie,Session Cookie是客户端技术, ...

  8. 会话跟踪Cookie与Session

    会话跟踪用来跟踪用户的整个会话,常用的是Session和Cookie.Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使 ...

  9. Servlet 会话技术cookie和session

    会话技术 Cookie技术:会话数据保存在浏览器客户端. Session技术:会话数据保存在服务器端. 一.Cooke技术 1. 特点 Cookie技术:会话数据保存在浏览器客户端. 2 .Cooki ...

随机推荐

  1. 【SQL】sql server 2008R2 评估期已过,

    参考1:http://www.cnblogs.com 参考2:http://www.wang1314.com 个人认为:升级+秘钥,,买正版才是最终的解决方法.

  2. React2

    1.属性 a. 属性和状态是react中数据传递的载体: b. 属性是声明以后不允许被修改的东西: c. 属性只能在组件初始化的时候声明并传入组件内部,并且在组件内部通过this.props获取: d ...

  3. redis-介绍与比较

    <一>. NoSQL简介:    NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发 ...

  4. jQuery 教程

    jQuery 教程 W3School H-ui前端框架 html标签

  5. AOJ DSL_2_E Range Add Query (RAQ)

    Range Add Query 数列 A = {a1,a2,...,an} に対し.次の2つの操作を行うプログラムを作成せよ. add(s,t,x): as,as+1,...,at にxを加算する. ...

  6. vs创建项目模板和项模板

    原文地址:https://msdn.microsoft.com/zhcn/library/xkh1wxd8(v=vs.140).aspx 如何:创建项目模板 Visual Studio 2015   ...

  7. 【Beta】Scrum04

    Info 由于上次验收基本没有人按时完成,缓冲一个任务周期. 时间:2016.12.06 21:30 时长:25min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 NXT:2016.12. ...

  8. MVC前后端数据被编码

    @{ ViewBag.Title = "Home Page";}<script> function htmldecode(s) { console.log(s); va ...

  9. js函数传参

    函数传参:重用代码,首先保持html代码相对一致,把核心主程序用函数包起来,把每组不同的值找出来,通过传参的方式减少代码的使用 下面代码是我早期练习的,大家随便看看就好 <!DOCTYPE ht ...

  10. Css中的Position属性

    Css中的Position属性 Css属性在线查询地址: http://www.css88.com/book/css/properties/index.htm CSS 中的 position 属性 在 ...