1. Cookie

当我们用 php 设置 cookie 时,实际上是客户端根据服务端返回的
Set-Cookie
段来进行cookie的设置。
<?phpsetcookie('user','hello',time()+30);
?>

而当客户端有 cookie 存在,请求中会带有 cookie

单个cookie的值最大只能存储4k
每次请求都要进行网络传输,占用带宽

2. Session

Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。
UID 存储在 cookie 中,亦或通过 URL 进行传导。

开始 PHP Session

注释:session_start() 函数必须位于 < html> 标签之前:
<?php session_start();
?>
上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID。
这个 UID 是基于 Cookie 或者 URL 传导


设置 session

session_start();
$_SESSION['key'] = $value;

取回 session

session_star();  // 记得开启 session_start(),不然不能获取同一个UID
echo $_SESSION['key'];

终结 Session

unset($_SESSION['key']);
session_destroy(); // 将重置 session,您将失去所有已存储的 session 数据。如果要删除所有的session,可以使用session_destroy函数销毁当前session,
session_destroy会删除所有数据,
但是session_id仍然存在。值得注意的是,session_destroy并不会立即的销毁全局变量$_SESSION中的值,只有当下次再访问的时候,
$_SESSION才为空,因此如果需要立即
销毁$_SESSION,可以使用unset函数。

3. cookie 与 session 的区别:

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,
所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择。当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里
是否已包含了一个//session标识(称为session id),如果已包含则说明以前已经为此客户端创建过session,
服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),
如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,
session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,
这个session id将被在本次响应中返回给客户端保存。
保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器。
一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,
则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。
经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。
还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,
以便在表单提交时能够把session id传递回服务器。比如:<form name="testform" action="/xxx"><input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764"><input type="text"></form>
默认情况下,session是以文件形式存储在服务器上的,因此当一个页面开启了session之后,
会独占这个session文件,这样会导致当前用户的其他
并发访问无法执行而等待。可以采用缓存或者数
据库的形式存储来解决这个问题,
一般来说,登录信息既可以存储在sessioin中,也可以存储在cookie中,他们之间的差别在于session
可以方便的存取多种数据类型,而cookie
只支持字符串类型,同时对于一些安全性比较高
的数据,cookie需要进行格式化与加密存储,
而session存储在服务端则安全性较高
//保存时间:
session 指发呆时间,清醒的话,从新计算。cookie 指定多少时间就是多少时间。
//总结:
1.cookie 保存在客户端,session保存在服务器端
2.cookie 以字符串形式保存,session可以保存多种数据类型(用的时候要声明)
3.保存时间,sesssion 指发呆时间(清醒的话,重新计算).cookie 时间是个绝对值

http://blog.csdn.net/fangaoxin/article/details/6952954/

https://my.oschina.net/kevinair/blog/192829

http://blog.csdn.net/enlyhua/article/details/48175989

http://blog.csdn.net/enlyhua/article/details/50437732

http://blog.csdn.net/enlyhua/article/details/50479737

128.深入 cookie ,session相关推荐

  1. C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session

    本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...

  2. 彻底理解cookie,session,localStorage(附代码)

    2019独角兽企业重金招聘Python工程师标准>>> 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某 ...

  3. 2、cookie session token详解

    cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...

  4. 基于requests模块的cookie,session和线程池爬取

    基于requests模块的cookie,session和线程池爬取 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三"人人网"个人主页数据)时,如果使用之前req ...

  5. .net session 有效时间_Python中requests模拟登录的三种方式(携带cookie/session进行请求网站)...

    这篇文章主要介绍了python中requests模拟登录的三种方式(携带cookie/session进行请求网站),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋 ...

  6. Cookie ,Session

    会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会话技术就是记录这次会话中客户端态的状与数据的. 会话技术分为Cookie和Session: Cookie:数据存储在 ...

  7. 会话Cookie及session的关系(Cookie Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  8. node --- [express] cookie/session 机制与 中间件的使用(路由守卫)

    说明 源代码 记忆.遗忘回顾 使用 cookie/session 机制,让 客户端/服务器 的访问变得有状态 cookie 与 session 由于 HTTP 协议的无状态性,当一次连接断开后. 服务 ...

  9. php cookie 字串,php入门(字符串,cookie,session)

    php入门(字符串,cookie,session),有需要的朋友可以参考下. 字符串 获取字符串的长度: strlen()函数 获取中文字长echo mb_strlen($str,"UTF8 ...

  10. cookie session token 之间的区别

    cookie 和session的区别 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 ...

最新文章

  1. 【最新】南京大学人工智能学院《模式识别》课程PPT
  2. 【PAT (Advanced Level) Practice】1001 A+B Format (20 分)
  3. 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - A. 分数
  4. asp:HyperLink中 Eval要用string.Format绑定
  5. Redis Lua脚本中学教程(上)
  6. 防止DISCUZ根域名跳转到forum.php的方法
  7. mysql loose_简单谈谈MySQL的loose index scan
  8. 动态规划——最大子矩阵(hdu1081)
  9. Java面试之五大框架的理解
  10. 2021江西高考成绩小分查询,2021江西高考成绩查分时间
  11. 获得国内中国电信,网通,铁通的最新ip段的方法
  12. 如何优雅地抄袭代码?天下代码一大抄,这才是正确的姿势
  13. Linux下C编程-----IO/文件操作 模拟linux ls程序显示文件系统树形结构(2)
  14. vuejs+webpack环境搭建
  15. 岗位目标_达州苏宁召开2019年度工作规划 与岗位目标责任书签订仪式会议
  16. Mariadb 10.0.12 服务器my.cf配置
  17. [转载]CRC校验原理
  18. html游戏脚本,网页游戏脚本软件道
  19. 为什么Multi-DRM如此重要?
  20. 民营经济挑战未来发展

热门文章

  1. 我的web2.0作品:畅想网络应用系统(采用JavaScript、Jquery、Ajax 等制作,完成时间10天)...
  2. Hibernate获取'上一条'和'下一条'记录
  3. 科创板开市暴涨,详解25家企业的“造富”能力
  4. 47页PPT,海量信息!用户画像架构、指标、标签、ETL、性能及案例应用一站通!(附PPT下载及视频 )...
  5. The rxfastforest algorithm case of kaggle
  6. HTTPClient实现免登陆请求(带cookie请求)
  7. libc.so.6: version 'GLIBC_2.14' not found报错提示的解决方案
  8. iOS----------APP怎样做更安全
  9. debounce(防抖)和throttle(节流)
  10. C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项...