黑马程序员技术交流社区
标题:
【郑州校区】会话技术
[打印本页]
作者:
我是楠楠
时间:
2019-3-26 11:14
标题:
【郑州校区】会话技术
【郑州校区】会话技术
会话技术
会话可以简单理解为,一个用户打开一个浏览器,在同一个WEB应用上,点击多个超链接,访问多个WEB资源,然后关闭浏览器,那这整个过程我们称之为一个会话
作用
会话技术可以保存用户在会话过程中所产生的数据
会话技术也可以让用户在同一个会话中实现数据的共享
会话技术的分类
cookie
cookie是一种客户端技术,程序可以把每一个用户特有的数据,以响应头set-cookie发送给每一个用户的浏览器,那最终会以文件的形式保存在用户的硬盘上,
当用户再次使用浏览器来访问我们的WEB服务器,用户的浏览器会带上他特有的数据,而我们的程序所处理的则是来访用户特有的数据。
session
session是一种服务器技术,WEB服务器会在运行时为每一个用户的每一个会话创建一个其独享的HttpSession对象,
由于session对象是用户独享的,所以我们可以使用session对象来保存用户在一个会话过程中所产生的数据。
session对象也是一个域对象,范围是整个会话
cookie的细节
一个cookie只能用来标识一种信息,而cookie至少需要包含这个信息的名称和值
一个网站可以向一个浏览器提供多个cookie,而一个浏览器也可以接收多个网站所提供的cookie
一个浏览器一般最多可以接收300个cookie,一个网站所对应的cookie最多为20个,一个cookie大小限制为4kb
创建一个cookie对象,发送至客户端,那这个cookie他默认的级别是会话级别
会话级别:当用户关闭浏览器,会话结束了,那这个cookie也被删除了
如果需要把cookie保存在用户的硬盘上,需要设置cookie的有效时间(过期时间)
cookie的名称和值都不可以使用中文,因为中文被认为是不安全的字符
Cookie的常用方法
构造方法
Cookie(String name,String value);
获取名称
String getName();
获取值
String getValue();
设置有效时间(过期时间)
void setMaxAge(int expiry)
设置路径
void setPath(String uri)
session
WEB服务器可以为每一个来访的用户浏览器创建一个会话对象(session对象),
如果需要保存用户的数据,我们的程序可以把用户的数据保存在用户浏览器独享的session对象中,
如果用户再次的使用浏览器来访问其他的WEB资源,其他的WEB资源也可以通过session对象来获取这个用户的数据,以便为这个用户再次的服务
session对象由WEB服务器创建,我们可以通过请求对象的方法getSession()来获取。
cookie和session的区别
cookie
是一种客户端技术,有大小和数量的限制,把数据保存在客户端,所以相对的不安全
session
是一种服务器端技术,没有大小和数量的限制,把数据保存在服务器端,所以相对的安全
session的实现原理
基于cookie
session的作用
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线 地铁一号线梧桐街站A口出
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2