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-及其设置的更多相关文章

  1. flask设置cookie,设置session,模拟用户认证、模拟管理后台admin、模拟用户logout

    设置cookie HTTP协议是无状态的,在一次请求响应结束后,服务器不会留下关于客户端状态的信息.但是对于某些web程序来说,客户端的信息有必要被记住,比如用户的登录状态,这样就可以根据用户的状态来 ...

  2. Django中的session和cookie及分页设置

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  3. 理解Session与Cookie

    写在前面的话:Session和Cookie是非常有意思的两个概念,对于两者的管理可以处理的很复杂,但是无论如何,理解Session和Cookie的基本概念和发明初衷,对于问题的解决,大有裨益. === ...

  4. session和cookie的区别

    cookie机制和session机制的区别     具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.     同时我们也看到,由于才服务器 ...

  5. 安全退出,清空Session或Cookie

    概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击 ...

  6. 关于session和cookie

    一.cookie机制和session机制的区别 **************************************************************************** ...

  7. 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session

    什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...

  8. Session与Cookie概念

    摘:一.Session机制session是一种服务器端的状态管理技术,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息.当程序需要为某个客户端的请求创建一个session的时候,服务 ...

  9. session和cookie

    第一次听到cookie这个词的时候着实兴奋了一段时间,以为是小饼干呢~快喝一杯82年的java压压惊!哈哈~ 与cookie的第一次邂逅——清缓存和清cookie 刚毕业的时候上班,做二次开发,明明后 ...

随机推荐

  1. 使用Tmux提高linux终端环境下的效率

    最近转移到linux下开发,同事告诉我一个工具tmux.关于tmux的工具的使用参考以下文章 如何使用Tmux提高终端环境下的效率 tmux的使用和快捷键 tmux简明教程 tmux使用大全

  2. [WPF系列]Button 自定义

    A Simple Cross Button for WPF   CREATING MORE COMPLEX BUTTONS IN XAML   WPF Custom Controls - Withou ...

  3. 天河2号荣膺第41届TOP500榜首

    国际TOP500组织在6月17日公布最新全球超级计算机500强榜单,由中国国防科技大学研制的“天河二号”以每秒33.86千万亿次的浮点运算速度成为全球最快的超级计算机. 天河2号(又称银河2号),将在 ...

  4. nvl函数 oracle

    Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...

  5. 转: 深入理解Linux修改hostname

    from: http://www.cnblogs.com/kerrycode/p/3595724.html 写的相当详细!!! 深入理解Linux修改hostname 2014-03-12 10:17 ...

  6. Android 官方推荐 : DialogFragment 创建对话框

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37815413 1. 概述 DialogFragment在android 3.0时 ...

  7. sublime 插件

    由于之前的代码可视化方案太复杂,分析时间太长,不实用,另一方面是而且工作以后业余时间大大减少,因此决定放弃原有路线,从工作中最迫切的需求着手,逐步构建一个实用的工具. 新的方法仍然依赖understa ...

  8. js 判断各种数据类型

    了解js的都知道, 有个typeof  用来判断各种数据类型,有两种写法:typeof   xxx   ,typeof(xxx) 如下实例: typeof   2      输出   number   ...

  9. 关于c++类的内存分配

    参考:这里 虽然有些地方错了,但是也可以一看,大概能加深对c++类相关的内存分配的了解 然后这还不算十分深入,更深入的可以看这里. 这本书是时候读一下了:<深度探索C++对象模型> (待续 ...

  10. 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用

    在电子表格Excel中,使用text函数和mid函数混用,根据身份证号计算出生年月: =text(mid(A2,,),"0!/00!/00") #0!/00!/00 为日期的格式# ...