Session&Cookie(Introduction、Application)
一Session
1概念:
(1)session是会话,是同一连接者所有页面公有的内置对象
(2)session是一段时间,从session创建开始,到session销毁结束,默认时间为30分钟(即从最后一次访问页面开始计时)
(3)session可以有多次请求和响应
2 特点:
(1)数据存储在服务器的内存中,所以数据是安全的
(2)耗费内存资源
3 实现保存用户状态的原理:
(1)客户端第一次请求服务器时,服务器会生成应该唯一的sessionid并响应发送给客户端,sessionid在各浏览器不能共享
(2)客户端再次发送请求时,服务器会根据客户端发来的sessionid与服务器中存储的sessionid进行匹配,匹配成功则可以拿数据,不成功则分配新的sessionid和存储区域
4 session对象常用的方法
(1)getId():获得当前session的sessionid
(2)setAttribute():向session空间中存储对象
(3)getAttribute():从当前session对象获得相匹配的对象
(4)invalidate():销毁所有的session对象
(5)removeAttribute():移除某一个指定的session对象
(6)getCreationTime():获得当前session创建的时间
(7)getcLastAcessedTime():获得客户端最后一次请求服务器的时间
(8)setMaxlnactivelnterval():设置session的最大请求间隔时间,单位为秒
(9)getMaxlnactivelnterval():获得session的最大请求间隔时间,单位为秒
5 session将用户信息保存在服务器端的内存中,信息比较安全但服务器端负担较重
二 Cookie
1 概念:
(1)cookie不是内置对象,使用时需要创建
(2)cookie的创建:Cookie cookie =new Cookie(“”,“”)
(3)cookie的构造参数需要两个参数,一个参数是cookie的名称,一个参数是cookie的值
2 特点:
(1)数据默认存储在浏览器内存中,叫临时cookie,所以数据是不够安全的
(2)不会耗费内存资源
3 cookie的常用方法:
(1)setMaxAge():设置cookie的存活时间
(2)getName():获得cookie的名称
(3)getValue():获得cookie的值
4 请求和响应
(1)response.addCookie():将Cookie发送给客户端,即将cookie的键和值写到浏览器中
(2)request.getCookies():从浏览器中获取所有的cookie内容
5 cookie的存储时间:
(1)setMaxAge():立即过期
(2)setMaxAge():设置cookie的存活时间,单位为秒
6 cookie默认不识别中文,需要设置后才可以使用
(1)需要使用URLEncoder的encode方法将汉字编码后存储:userName = URLEncoder.encode(userName, "utf-8");
(2)需要使用URLDecoder的decode方法将汉字装换编码后读取:userName = URLDecoder.decode(userName,"utf-8");
7 cookie的其他用法(仅了解):
(1)设置域:setDomain(“其他网址”):本网址的cookie可以被其他网址读取
(2)设置路径:setPath(“/....”):为了区分表示不同路径下的相同的cookie键
三 Session和Cookie的区别:
1 存储位置:
(1)session:数据存储在服务器的内存中,耗费内存资源
(2)cookie:数据默认存储在浏览器内存中,不会耗费内存资源
2 数据安全性:
(1)session:信息比较安全
(2)cookie:信息不够安全
3 保存的时间:
(1)session:不能持久地保存信息
(2)cookie:能够长期保存信息
4 值类型:
(1)session:值是Object类型的
(2)cookie:值是String类型的
---------------------
作者:gongchengshiaa
来源:CSDN
原文:https://blog.csdn.net/gongchengshiaa/article/details/54630399
版权声明:本文为博主原创文章,转载请附上博文链接!
Session&Cookie(Introduction、Application)的更多相关文章
- webform基础介绍及页面传值(session,cookie)、跳转页面
一,IIS 1.首先知道IIS是个什么东西:它是web服务器软件,安装在服务器上,接受客户端发来的请求,并传送给服务器端,然后响应请求并送回给客户端.类似于饭店里的服务员. 2.会安装IIS——控制面 ...
- Session &cookie introduction,usage
Cookie 1)什么是Cookie? 服务器为了识别用户身份而临时存放在浏览器端的少量数据. 2)工作原理 浏览器访问服务器时,服务器将一些数据以set-cooki ...
- session & cookie(li)
Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...
- C#-WebForm-★内置对象简介★Request-获取请求对象、Response相应请求对象、Session全局变量(私有)、Cookie全局变量(私有)、Application全局公共变量、ViewState
内置对象: 1.Request - 获取请求对象 用法:接收传值 protected void Page_Load(object sender, EventArgs e) { TextBox1.Tex ...
- application、session、request、page的作用范围、Application,Session和Cookie的区别
Web应用中的JSP和servlet都是由web服务器来调用,Jsp和Servlet之间通常不会相互调用,那么Jsp和Servlet之间交换数据就要用到application.session.requ ...
- Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别
1.Application:用于保存所有用户共用的数据信息.在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都要 ...
- URL、Session、Cookies、Server.Transfer、Application和跨页面传送,利弊比较
URL.Session.Cookies.Server.Transfer.Application和跨页面传送.-本题考查面试者对ASP.NET中多页面传值的理解是否全面.因为ASP.NET的页面表单提交 ...
- [Asp.Net]状态管理(Session、Application、Cache)
上篇博文介绍了在客户端状态管理的两种方式:http://www.cnblogs.com/wolf-sun/p/3329773.html.除了在客户端上保存状态外,还可以在服务器上保存状态.使用客户端的 ...
- Asp.net 服务器Application,Session,Cookie,ViewState和Cache区别
2.8 Context 的使用Context 对象包含与当前页面相关的信息,提供对整个上下文的访问,包括请求.响应.以及上文中的Session 和Application 等信息.可以使用此对象在网页之 ...
随机推荐
- 使用spring data solr 实现搜索关键字高亮显示
后端实现: @Service public class ItemSearchServiceImpl implements ItemSearchService { @Autowired private ...
- Linux 安装python3.7.0
我这里使用的时centos7-mini,centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不同,可通过 python --V 或 python --version 查看系统自 ...
- python之以字符串形式导入模块
示例 调用方法 class CorsMiddleware: def process(self): print('from auth.cors.CorsMiddleware.process') cors ...
- cherry-pick时的add by us / both modified / delete by us /delete by themk
简单来说: us=into , them=from 比如你将test分支的某个提交cherry-pick到master分支上,那么us就是master分支,them 就是test分支 参考: http ...
- Substrate 使用
1.安装 首先安装sdk,按官网教程http://www.cydiasubstrate.com/id/73e45fe5-4525-4de7-ac14-6016652cc1b8/ http://asdk ...
- Python 操作 MySQL 的5种方式(转)
Python 操作 MySQL 的5种方式 不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Pytho ...
- TP连接数据库报错:SQLSTATE[HY000] [2002] No such file or directory
连接数据库报错:“SQLSTATE[HY000] [2002] No such file or directory”. 出现这个问题的原因是PDO无法找到mysql.sock或者mysqld.soc ...
- PHP----------安装包lnmp1.3-full安装的lnmp环境,如何安装PHP扩展
1. 如果已经安装LNMP套件,请按以下步骤处理 a. 跳转到fileinfo源代码目录` cd /root/downloads/lnmp1.2-full/src/php-7.0.7/ext/file ...
- fiddler学习总结--fiddler抓包篡改数据请求
操作步骤: 步骤一.在fiddler的命令行中输入需要拦截的地址:bpu https://www.baidu.com 记得按一下回车键 步骤二.在百度搜索栏中,输入“火影忍者”,页面会一直处于加载的状 ...
- 逆向 AWS API 设计
由于AWS并没有像Google一样公开出一份API Design Guide,所以只能根据 API 的模样去逆向工程最初的设计考量.既然上一篇介绍了很多 REST 的缺陷,那么这里也会介绍一下 AWS ...