zoukankan      html  css  js  c++  java
  • session和cookie的区别

    • COOKIE

    cookie是采用保持在客户端的保持状态,正统的cookie是扩展HTTP协议来实现的,在HTTP的报文头中设置cookie就可以提醒客户端来生成相应的cookie,这样做是为了解决HTTP是无状态的,用cookie来保存两次之间的状态,从而记录用户的状态。当然cookie也是可以采用浏览器、JS等设置禁用的。cookie主要包括名字、值、过期时间、修改时间。每一次响应请求时,都会与本地cookie的修改时间做比较,如果晚于上次修改时间,就修改,否则不变化。cookie的过期时间是非累加的,有别于seesion。

    如果不设置过期时间,表示浏览器关闭,cookie就取消,这样的cookie是会话cookie,这种cookie是存储在内存中的,不是硬盘上。对于存储在硬盘上的cookie,浏览器窗口之间是可以共享的;对于存储在内存中的cookie,浏览器窗口之间是不能共享的。

    • session

    session是采用保持在服务器端的,可以使用一个sessionid来保存不同用户的session值,是一种类似于散列表(散列表)的结构。服务器端接受客户端请求,先检查客户端请求里是否已经有了seesionid,已有就继续使用,否则创建新的。sessionid是可以采用cookie来存储的,使用cookie存储sessionid。但是cookie是可以被设置禁用的,所以还需要别的方式来保证这样的交互。一种方式是URL重写的技术,就是将sessionid直接写到url的后面,另一种是隐藏表单的方式,就是添加一个隐藏字段。浏览器一般是采用会话cookie实现的,所以浏览器关闭了,sessionid就消失了。

    cookie是保存在客户端的,而session又是通过cookie实现的

     
  • 相关阅读:
    TOJ 2710: 过河 路径压缩
    树状数组模板
    TOJ 2017: N-Credible Mazes
    TOJ 4804: 树网的核
    Codeforces Round #440 (Div. 2, based on Technocup 2018 Elimination Round 2)
    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
    TOJ 2541: Paper Cutting
    CODE FESTIVAL 2017 qual B
    hiho[Offer收割]编程练习赛30
    Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0
  • 原文地址:https://www.cnblogs.com/lxq0309/p/3641894.html
Copyright © 2011-2022 走看看