cookie 与 session 的差别、联系
1、存放位置:
Session 存放在server端。
Cookie 存放在client;
2、保存形式:
Session保存在server的内存中(在server端设置超时时间,与浏览器设置无关);
Cookie以文件形式存放在client(能够通过浏览器设置进行更改、清除),单个cookie闻见一般限制为3k;
3、安全性:
Session 较安全。
Cookie 不安全(能够通过分析本地的cookie进行cookie欺骗);
4、性能:
Session 当訪问量增大时会占用server内存从而消耗server性能。
Cookie 不消耗server性能,考虑减轻server负荷能够考虑使用cookie;
5、persistent cookie(cookie)与 session cookie的 差别:
http是无状态协议,客户每次读取web页面时。server都会打开新的会话。
并且server也不会自己主动维护客户的上下文信息。
Session就是一种保存上下文信息的机制,它是针对每个用户的。变量的
值保存在server端,通过SessionID来区分不同的客户。
Session 是以 cookie 或 URL重写为基础的,默认使用cookie来实现。系统
会创建一个名为 jessionID 的输出cookie(我们叫做session cookie),差别于
persistent cookies(也就是我们常说的cookie),cookie是存放在硬盘上的。
而session cookie是存储在浏览器内存中的。我们一般是看不到session cookie
(jessionID)的。可是当我们吧浏览器的cookie禁用后,webserver会採用URL
重写的方式传递SessionID,我们就能够在浏览器地址栏看到 sessionid=KWJH
UG6JJM65HS2K6 之类的字符串,明确了原理。两者的差别就一目了然。
Session cookie 针对某一次会话而言。会话结束 session cookie 也就随着消失了;
persistent cookie 仅仅是存在与client银盘上的文本(一般是加密的),可能会遭到 cookie欺骗和针对cookie的跨站脚本攻击;
所以 session cookie 更安全。
session cookie 是不能跨窗体使用的,当你新开一个浏览器窗体进入同样页面时,
系统会赋予你一个新的 sessionID,这样我们信息共享的目的就达不到了,此时我们
能够先把 sessionID 保存在 persistent cookie 中。然后在新窗体中读出来,就能够得
到上一个窗体的 sessionID了,这样通过 session cookie 和 persistent cookie 的结合
就能够实现跨窗体的 session tracking (会话跟踪)。
cookie 与 session 的差别、联系的更多相关文章
- 前端页面——Cookie与Session有什么差别
我们在实际生活中总会遇到这种事情,我们一旦登录(首次输入username和password)某个站点之后,当我们再次訪问的时候(仅仅要不关闭浏览器),无需再次登录.而当我们在这个站点浏览一段时间后,它 ...
- Java——Cookie与Session
Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie 1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务 ...
- cookie和session机制
一.cookie和session机制之间的差别和联系 1.cookie机制 Cookie意为"甜饼",是由W3C组织提出,最早由Netscape社区发展的一种机制. 眼下Cooki ...
- Flask:cookie 和 session (0.1)
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 Cookie是什么?有什么用? 某些网站为了辨别用户身份.进行 session 跟踪而储存在用户本地终端上的数据(通常 ...
- 浅析PHP中cookie与session技术
1.cookie是什么? cookie指某些站点为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). 通俗来理解就是,你去一个专卖店或者超市买东西,然后店里给你办一张 ...
- HTTP报文结构及Cookie、session区别
目录 万维网 HTTP超文本传输协议 特点 HTTP的报文结构. 下面介绍http请求报文最主要的一些特点 在服务器上存放用户的信息(Cookie) 实例: 工作原理: cookie中的主要内容: C ...
- Cookie和Session的介绍与认识
Cookie: cookie是一种客户端的状态管理技术. 当浏览器向服务器发送请求的时候,服务器会将少量的数据以set-cookie消息头的方式发送给浏览器,当浏览器再次访问服务器时,会将这些数据以c ...
- Cookie和Session的总结
1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...
- java的会话管理:Cookie和Session
java的会话管理:Cookie和Session 1.什么是会话 此处的是指客户端(浏览器)和服务端之间的数据传输.例如用户登录,购物车等 会话管理就是管理浏览器客户端和服务端之间会话过程产生的会话数 ...
随机推荐
- [bzoj5017][Snoi2017]炸弹 tarjan缩点+线段树优化建图+拓扑
5017: [Snoi2017]炸弹 Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 608 Solved: 190[Submit][Status][ ...
- HDU 6213 Chinese Zodiac 【模拟/水题/生肖】
Problem Description The Chinese Zodiac, known as Sheng Xiao, is based on a twelve-year cycle, each y ...
- Codeforces #426 Div2 D(线段树优化 DP )
#426 Div2 D 题意 给出 \(n\) 个数字,将这些数字隔成 \(k\) 个部分(相对位置不变),统计每个部分有几个不同数字,然后全部加起来求和,问和最大是多少. 分析 很容易想到 \(DP ...
- BigDecimal不整除异常
通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的 异 常 :java.lang.ArithmeticException: Non-terminatin ...
- 【BZOJ 2333 】[SCOI2011]棘手的操作(离线+线段树|可并堆-左偏树)
2333: [SCOI2011]棘手的操作 Description 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i],接下来有如下一些操作: U x y: 加一条边 ...
- Encode and Decode Strings -- LeetCode
Design an algorithm to encode a list of strings to a string. The encoded string is then sent over th ...
- python3开发进阶-Django框架的自带认证功能auth模块和User对象的基本操作
阅读目录 auth模块 User对象 认证进阶 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其 ...
- python3开发进阶-Django框架的详解
一.MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分: 模型(Model).视图(View)和控制器(Con ...
- 3.3常用类(java学习笔记)Runtime与Process
一.Runtime 我们来看下文档中对Runtime的说明: 每一个java程序都有一个属于Runtime类的实例,它允许程序连接到程序运行环境. 当前runtime可以用getRuntime()方法 ...
- node.js学习一——什么是node.js
定义:node.js是运行在服务器端的运用了谷歌v8引擎的javascript运行平台 特点:1. 异步式I/O(非阻塞式I/O) 2. 事件驱动 什么是异步式I/O(非阻塞式I/O)? 要了解什么是 ...