博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cookie和Session的区别和联系
阅读量:4326 次
发布时间:2019-06-06

本文共 1059 字,大约阅读时间需要 3 分钟。

会话技术

1.Cookie

客户端会话技术

数据存储在客户端,只能存String类型,并且大小有限制,一般为4KB,Cookie数量有限制(20个),不同浏览器不同;

一个Tomcat服务器中的共享问题:Cookies的获取限制,通过setPath()设置访问范围限制,默认为当前虚拟目录;

多个Tomcat服务器下的共享问题:通过setDomain()设置域名,如果一级域名相同,二级域名下的cookie是可以访问到的;

Cookie的持久化存储,setMaxAge() 设置存储时间,如果不设置,默认关闭浏览器即删除(整数:秒为单位,设置存储时长;负数:默认值,即关闭删除,可以不写;0,删除客户端Cookie);

作用:一般用来存储不敏感的信息,一般用来做服务器对客户端的用户识别;

注意事项:Tomcat8下不能存中文,无法存储特殊的字符,如空格,需要URL编码,URLENCODE的encode进行编码,对应的是URLDECODE解码

 

2.Session

服务器端会话技术

数据存储在服务器端,以Cookie为基础做客户端识别;

HttpSession session = request.getHttpSession();

如果第一次访问,客户端Cookie中无JSESSIONID,即新生成一个session对象,存放到服务器中;

如果第二次访问,请求对象中Cookie中含有JSESSIONID,服务器会返回对象客户端的Session;

session的钝化和活化,服务器正常关闭,会存放文件到Tomcat work目录下,服务器再次启动时,文件自动加载到服务器中,文件删除;

Session的销毁:

*.服务器关闭;

*.session对象调用invalidate()方法;

*.默认失效时间30分钟,Tomcat 配置文件中可以配置

    <session-config>

                    <session-timeout>30</session-timeout>
                </session-config>

作用:

 1. session用于存储一次会话的多次请求的数据,存在服务器端

 2. session可以存储任意类型,任意大小的数据

 

两者区别:   

1. session存储数据在服务器端,Cookie在客户端

2. session没有数据大小限制,Cookie有
3. session数据安全,Cookie相对于不安全

 

转载于:https://www.cnblogs.com/isit/p/11005087.html

你可能感兴趣的文章
[置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了
查看>>
BABOK - 需求分析(Requirements Analysis)概述
查看>>
第43条:掌握GCD及操作队列的使用时机
查看>>
Windows autoKeras的下载与安装连接
查看>>
CMU Bomblab 答案
查看>>
微信支付之异步通知签名错误
查看>>
2016 - 1 -17 GCD学习总结
查看>>
linux安装php-redis扩展(转)
查看>>
Vue集成微信开发趟坑:公众号以及JSSDK相关
查看>>
技术分析淘宝的超卖宝贝
查看>>
i++和++1
查看>>
react.js
查看>>
P1313 计算系数
查看>>
NSString的长度比较方法(一)
查看>>
Azure云服务托管恶意软件
查看>>
My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包
查看>>
旧的起点(开园说明)
查看>>
生产订单“生产线别”带入生产入库单
查看>>
crontab导致磁盘空间满问题的解决
查看>>
java基础 第十一章(多态、抽象类、接口、包装类、String)
查看>>