小白之旅27

会话技术

会话的概念:一次服务器的访问中包含多次请求和响应

一次会话:客户端第一次给服务器发送请求,此时会话建立,在此过程中有多次的请求和响应,直到有一方断开

会话技术分为:

  • Cookie:(饼干)客户端会话技术
  • Session:(主菜)服务端会话技术

一. 概念和实现步骤

客户端会话技术,将数据保存到客户端中

实现步骤:

1、创建Cookie对象,将数据绑定在Cookie对象中

​ new Cookie(key , value);

2、将Cookie封装在响应头中,发送给客户端

​ response.addCookie(cookie对象);

3、获取请求头中的Cookie

​ getCookies()

二. Cookie的细节问题

2.1 一次响应是否可以发送多个Cookie

可以的,做法是创建多个Cookie对象绑定各自的数据,分别使用response发送给客户端

2.2 Cookie能在客户端(浏览器)中存多久

  • 默认情况下,在浏览器关闭后,Cookie数据就被销毁
  • 持久化存储Cookie:setMaxAge( seconds ),参数是秒,int类型
    • 正数:存储的时长
    • 负数:默认值(会话结束就释放->浏览器关闭就释放->默认情况)
    • 0:清除Cookie

2.3 Cookie中是否可以存储中文

默认情况是不可以的,但是可以通过一些额外的手段去让中文可以存储在Cookie中

  • 使用tomcat 8及以上的版本
  • 可以在发送给客户端之前,对中文进行编码URLEncoder.encode(name,"utf-8");,在服务端获取数据后进行解码URLDecoder.decode(name,"utf-8");

2.4 Cookie数据的共享问题

setPath( 路径 )

默认情况下,当前项目中的所有资源都能共享Cookie数据

  • 如果想要在同一个服务器的其他项目中也能访问到Cookie数据,该怎么做?
    • setPath("/")
  • 如果想要限制Cookie数据只能在某个资源中被访问到,该怎么做?
    • setPath( 指定的路径 )
  • 如果想要在不同服务器中共享Cookie数据,该怎么做?
    • setDomain( ".baidu.com" ),只要一级域名相同,不同服务器间的Cookie数据

2.5 Cookie存储数据量的特点

  • 单次存储数据量的大小有限制,一般是4k
  • 浏览器保存同一站点(服务器)的Cookie数量也有限制

转载于:https://www.cnblogs.com/demonycw/p/11342768.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值