Servlet体验之旅(二)——Session、Cookie
我们知道Session和Cookie都是用于会话跟踪的,仅仅是实现的方式不大一样,那么他们到底有什么不同呢?以下跟着我脚步来了解一下:
Session、Cookie的含义:
Session
一种server端的技术,在server端创建。一般是採用散列表来存储信息,保存的数量可大可小。
比如Tomcat的session对象就是採用HashMap存储键值对的。
用于保存每一个用户的专用信息。它的生存期是用户持续请求时间加上一段时间。
Cookie
一种client技术。用于跟踪用户会话的一种方式。当然Session也能够用来跟踪用户会话,仅仅是实现原理有些不同罢了。Cookie是由server端发送给client的一个信息片段,存储在浏览器的内存中。或者是以文本形式保存在用户的硬盘上。存放的数据量受到限制,大多数浏览器为4K.
Application:
用于保存全部用户的公共数据信息,假设使用Application对象,一个须要考虑的问题是不论什么操作都要在Application_OnStart事件(global.asax)中完毕。
以下是一张这三个对象存放数据的一个对照表格:
因为本篇文章主要是想比較一下Session和Cookie,所以以下重点比較这两者:
1.存取方式:
Cookie:仅仅能保存ASCII字符串。假设须要存取Unicode字符或者二进制数据,须要进行UTF-8,GBK或者BASE64方式的编码。不能直接存取Java对象。存储略微复杂的信息,使用Cookie比較困难。
Session:能够存取不论什么类型的数据,String。Integer。List。Map等。
能够直接保存Java
Bean价值不论什么java类。对象等。
使用起来很方便。能够把Session看作是一个Java容器类。
2.隐私安全:
Cookie:存储在client浏览器中,队client是可见的,client的一些程序可能窥探。复制甚至改动cookie中的内容。
Session:存储在server上,对client是透明的,不存在敏感信息泄露的危急。
3.有效期:
Cookie:要想达到长期的记录效果Cookie还是一个比較好的选择。设置maxAge属性
Session:依赖于名为JSESSIONID的cookie,而cookie
JSESSIONID的maxAge默觉得-1,仅仅要关闭浏览器该Session就会消失。
4.对server的负担:
Cookie:保存在client。不占用server资源,假设并发浏览的用户非常多。Cookie是非常好的选择。
Session:保存在server端,每一个用户都会产生一个Session。假设并发訪问的用户许多,会产生许多的Session,消耗大量的内存。
5.跨域名:
Cookie:支持跨域名訪问。
Session:仅在他所在的域名内有效。
1.在server端不保存Session。全然不状态
2.基于浏览器Cookie的Session共享。
3.基于数据库的Session共享。实现分布式应用间Session共享
4.基于应用server、Servlet容器的Clustering机制
5.基于NFS的Session共享
6.基于Terracotta、Ehcache、JBossCache等Java
Caching方案实现Session共享
7.基于Memcached/Tokyo
Tyrant等Key-Value DB的Session共享
结束语:笔者知识有限。对资料的理解水平也有限,因此这里仅仅是稍作笔记总结,望批评指正。
Servlet体验之旅(二)——Session、Cookie的更多相关文章
- [Java] Servlet工作原理之二:Session与Cookie
(未完成) 一.Cookie与Session的使用简介 1 Cookie Cookie 用于记录用户在一段时间内的行为,它有两个版本:Version 0 和 Version 1,分别对应两种响应头 S ...
- Servlet会话管理二(Cookie)
Cookie是在HTTP协议下,将服务器传递给浏览器的的少量信息保存到浏览器客户端的一种技术,通过这种技术,即使在浏览器被关闭或链接中断的情况下,用户仍可以维护Cookie中的数据. Cookie是经 ...
- 【转】接口测试Session/Cookie笔记(二)
Windows系统运行计算器命令:calc python显示上一步操作命令:Alt+p python显示上一步操作结果:_(英文下划线) Session是存放在服务器的键值对 ,用于保存客户端的某个特 ...
- 接口测试Session/Cookie笔记(二)
Windows系统运行计算器命令:calc python显示上一步操作命令:Alt+p python显示上一步操作结果:_(英文下划线) Session是存放在服务器的键值对 ,用于保存客户端的某个特 ...
- session & cookie(li)
Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...
- [转载]JavaEE学习篇之——Session&&Cookie
原文链接: http://blog.csdn.net/jiangwei0910410003/article/details/23337043 今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一 ...
- session cookie原理及应用
一.术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的. session,中 ...
- Session Cookie的HttpOnly和secure属性
Session Cookie的HttpOnly和secure属性 一.属性说明: 1 secure属性 当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTT ...
- JSP + Session Cookie详解
篇幅较大,对JSP进行了非常详细的讲解,并解释了Session和Cookie的实现原理 ,预计看完需要20分钟左右,慢慢享受吧 JSP概述 掌握了servlet后,就可以利用servlet来开发动态页 ...
随机推荐
- 【解决方法】UITableView 性能优化笔记
1.网络图片异步载入,SDWebImage. 2.文字直接 drawInRect/drawAtPoint 绘制,參考 ABTableViewCell.AdvancedTableViewCells. 3 ...
- VC 获取控制台窗体的句柄(hWnd)
在Windows中,句柄是一个系统内部数据结构的引用. 比如当你操作一个窗体.或说是一个Delphi窗体时,系统会给你一个该窗体的句柄,系统会通知你:你正在操作142号窗体.就此你的应用程序就能要求系 ...
- 启用QNX系统,海尔智能冰箱或成业界“宝马”
智能家电正处于迅猛发展的态势,国内眼下有非常多企业都在积极布局智能家电,当中又以海尔最为典型.作为家电领域的领头羊,海尔近年来在智能家电领域的动作不小.近期有消息透露.海尔也许会在IFA展会上 ...
- STL_算法_依据第n个元素排序(nth_element)
C++ Primer 学习中... 简单记录下我的学习过程 (代码为主) //全部容器适用 nth_element(b,n,e) nth_element(b,n,e,p) 对照:partition() ...
- hdu(2846)Repository
Problem Description When you go shopping, you can search in repository for avalible merchandises by ...
- 0x08 总结与练习
1:前面已经搞好了. 2:poj2965 这种开关问题一个点要么点一次要么不点,枚举所有点的方案实行即可 #include<cstdio> #include<iostream> ...
- bzoj3998: [TJOI2015]弦论(SAM+dfs)
3998: [TJOI2015]弦论 题目:传送门 题解: SAM的入门题目(很好的复习了SAM并加强Right集合的使用) 其实对于第K小的字符串直接从root开始一通DFS就好,因为son边是直接 ...
- 使用CNN做电影评论的负面检测——本质上感觉和ngram或者LSTM同,因为CNN里图像检测卷积一般是3x3,而文本分类的话是直接是一维的3、4、5
代码如下: from __future__ import division, print_function, absolute_import import tensorflow as tf impor ...
- hdoj--2098--分拆素数和(枚举)
分拆素数和 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- HIT Software Construction Lab 5_经验总结
前言: 终于写完lab5了,这次lab5是基于lab3的一次实验,主要是王忠杰老师提供了4个大约有50w行的大文件让我们根据自己所选应用读取其中两个并且创建轨道系统. 这次lab5优化的我很崩溃,因为 ...