什么叫session和cookie-及其设置
http的无状态?
保持状态, 是指当程序关闭后重启, 上一次操作的历史还能继续, 保持的. 如word中的 "选项"设置. 如windows系统的设置等等. http的设计目的, 只是为了简单的 让客户端请求文件 服务器响应分发文件 而已. 彼此之间都不需要记住以往的历史. 就像 散客/游客 在 自动售货机/自由卖场 购买东西一样. 这一次和每一次的 购买/访问 行为都是独立的,互不相关的. 所以当 b访问s后, 下一次再访问s; 甚至在同一次访问中 的不同页面间跳转也是独立的, 彼此间的状态都不共享,不互知
为什么需要状态保持?
而web程序或有些应用中,需要在 下一次访问S ,或不同页面间 跳转时, (保持状态的概念:)知道以往的访问历史 或程序状态, 和交互信息. 这就需要 在B /S 间保持状态. 如统计访问次数, 判断用户是否登录等.
保持状态的理解例子?
如同 在咖啡店喝咖啡的会员制, 喝上5杯咖啡送一杯咖啡. 就要记录这一次和以往喝咖啡的记录.就需要保持状态. 三种方式: 店员记住每个顾客的消费记录,这是http协议自身实现; 顾客一张消费卡,卡上记有各次消费的情况, 这个是客户端 cookie 保持状态; 给顾客一张会员卡,上面只有一个记录号, 然后咖啡店的服务器上保存顾客消费情况, 当顾客进店消费时, 出示会员卡,根据卡号查询记录,决定消费情况. 这是服务器端 session 保持状态. 由于客户端消费卡, 可能被修改/仿造, 为了保证顾客信息/资金的安全, 通常采用服务器端保持状态. 也就是说, 重要信息的状态保持, 要采用session, 不要采用cookie.
session的设置set, 不叫设置, 叫做 "装逼的 注册".
session的存在形式? 是以服务器内存变量的形式存在的, 不是以文件的形式保存的. 保存在服务器的内存中,所以服务器进程一旦终止 或 机器重启,那么, server上的session 就不存在了.
session的创建和终止消亡?
不是客户端一连接服务器,就创建session, 而是要显式的调用 Session::set('username', $Think.post.name).
session的消亡也不是 "会话" 一结束就消亡, 而是: 显式的调用 Session::clear/destroy(); 或者session的静默 超过设置的session过期时间; 或者如上的进程终止或机器重启.
那么session的默认过期时间
是空格, 也可以用 &#方式来表示, 注意要写上#, 否则会按原样输出 &12288;
cookie的最大尺寸, 大小限制: 3K?
cookie的保存?
cookie的设置包括名称, 过期时间, 域,路径. 域是整体 的范围, 如 .baidu.com , 路径是作用的具体范围,通常是一个子目录. 域和路径组合 表示cookie的作用范围. 过期时间, 如果没有设置,表示会话一结束cookie就失效, 称为"会话cookie".
cookie的使用方式?
cookie不需要用户 显式的去调用, 去引用. 它是放在 浏览器的目录中, 在访问服务器时, 浏览器会自动的 扫描检查 每一个 cookie, 然后将cookie 添加到 http请求头中, 一并发送给服务器. 然后由服务器去检查? if(Session::is_set('username')....
session的使用也需要cookie吗?
是的, session的使用,如同上面的咖啡厅会员卡一样, 顾客是持有 会员卡 卡号, 店里面根据会员卡号查询记录. 同样的, 服务器上有session 记录, 而session的标识, 即session id是保存在客户端, 的cookie中的. 浏览器访问服务器时, 会自动的将cookie中的 session id发给服务器, 然后检测.
对于多用户并发的session,难道不会重叠,覆盖吗?
正是因为上面的那个session id的原因.
盗用用户名发帖?
就是将你的机器上的cookie盗用,拷贝到它机器上的浏览器目录下, 因为浏览器会自动地发送cookie, 所以它上网时就是盗用你的身份了.
git tag 的操作包括: 创建/列表/删除/推送 标签
-a 创建, -l list, -d 删除标签. -m 加上创建标签时的备注信息
git show : 可以显示查看 任何类型的 对象. show various types of objects. git show Release-0.1
git tag是放在 .git/refs/tags/目录中的, 比如Release-0.1, 其实是一个 中的.
git tag -a 'Release-0.1' -m 'first tagger tagged'
git tag; git tag -l; git show Release-0.1(git show是直接查看各种git对象)
什么叫session和cookie-及其设置的更多相关文章
- flask设置cookie,设置session,模拟用户认证、模拟管理后台admin、模拟用户logout
设置cookie HTTP协议是无状态的,在一次请求响应结束后,服务器不会留下关于客户端状态的信息.但是对于某些web程序来说,客户端的信息有必要被记住,比如用户的登录状态,这样就可以根据用户的状态来 ...
- Django中的session和cookie及分页设置
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- 理解Session与Cookie
写在前面的话:Session和Cookie是非常有意思的两个概念,对于两者的管理可以处理的很复杂,但是无论如何,理解Session和Cookie的基本概念和发明初衷,对于问题的解决,大有裨益. === ...
- session和cookie的区别
cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器 ...
- 安全退出,清空Session或Cookie
概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击 ...
- 关于session和cookie
一.cookie机制和session机制的区别 **************************************************************************** ...
- 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session
什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...
- Session与Cookie概念
摘:一.Session机制session是一种服务器端的状态管理技术,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息.当程序需要为某个客户端的请求创建一个session的时候,服务 ...
- session和cookie
第一次听到cookie这个词的时候着实兴奋了一段时间,以为是小饼干呢~快喝一杯82年的java压压惊!哈哈~ 与cookie的第一次邂逅——清缓存和清cookie 刚毕业的时候上班,做二次开发,明明后 ...
随机推荐
- Chrome
一.简介 二.安装 1)离线版 http://www.google.cn/chrome/browser/thankyou.html?statcb=1&platform=win64&st ...
- windows常用端口对应表
端口概念 在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口.SC端口等等.二是逻辑意义 ...
- 安装 Visual Studio Web Tools 的奇怪问题
安装Microsoft ASP.NET 5 RC 1 时提示 0x80070005 - 拒绝访问 日志文件为 [1968:3F64][2015-11-20T10:08:36]i010: Launchi ...
- 【读书笔记《Bootstrap 实战》】4.企业网站
上一章有对个人作品站点进行一些优化.本章,轮到我们充实这个作品站点了,补充一些项目,从而展示我们的能力.换句话说,我们要构建一个相对复杂的企业网站主页. 下面有几个成功企业的网站: □ Zappos ...
- Linux 之 目录和文件
1 初识 1.1 终端 打开终端: Ctrl + Alt + F1 ~ F6 图形界面: Ctrl + Alt + F7 1.2 命令 1) 一般 date; cal - calendar; ...
- sublime 安装笔记
sublime 安装笔记 下载地址 安装package control 根据版本复制相应的代码到console,运行 按要求重启几次后再按crtl+shift+p打开命令窗口 输入pcip即可开始安装 ...
- jquery的curCSS方法
核心思想是用getComputedStyle获取样式,如果没有获取到就判断是不是动态创建的元素,如果是则用style获取行内样式.看重点(注释部分)代码吧! curCSS = function( el ...
- Java实现数组排序
package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Java实现数组排序 < ...
- button
- DayOfWeek
int a =(int)oneDate.DayOfWeek; 返回的直接就是 1,2,3,4,5,6, 星期日返回的是0