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. CREATE TABLE 表名 AS SELECT 语句

    1.新表不存在复制表结构即数据到新表 ? 1 2 create table new_table select * from old_talbe; 这种方法会将old_table中所有的内容都拷贝过来, ...

  2. Python基础-三次用户验证登录购买商品程序

    需求: 一:三次登录锁定 1.用户信息存放于文件中 2.尝试三次都失败,锁定用户 二.购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品 ...

  3. NB實體連線到公司的網路,無法上網解決方案,需設 proxy。

    未使用 VPN Cisco Anyconnect 已連線到公司的網路: google-chrome-stable --proxy-server="proxy.XXXcomm.com:3128 ...

  4. [webpack] webpack-dev-server介绍及配置

    webpack-dev-server是webpack官方提供的一个小型Express服务器.使用它可以为webpack打包生成的资源文件提供web服务.webpack-dev-server官方文档 w ...

  5. shell中测试命变量是否已经定义

    (1)sehll实例 # cat subshell #!/bin/bash if (set -u; : $var); then #冒号与$间有空格 echo "Variable is set ...

  6. Html页面禁止鼠标左键复制

    <body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectst ...

  7. Theano: CNMeM is disabled, CuDNN not available

    Problem Theano: CNMeM is disabled, CuDNN not available Solution cnmem package: https://github.com/NV ...

  8. NodeJs + mongodb模块demo

    代码比较通俗易懂,但是我还是在这个过程中浪费了不少时间,也算是看到了nodejs中异步的一个小坑.未来的坑还有很多,慢慢找坑填坑吧. 参考资料如下: 1.断言模块 : https://nodejs.o ...

  9. CodeForces 165E Compatible Numbers(位运算 + 好题)

    wo integers x and y are compatible, if the result of their bitwise "AND" equals zero, that ...

  10. c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出

    将List集合的数据写到一个Excel文件并导出示例: using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using Sys ...