Cookie浅谈

简介: Cookie浅谈
  1. 概念:客户端会话技术,将数据保存到客户端
  2. 快速入门:
    • 使用步骤:
      1. 创建Cookie对象,绑定数据
        • new Cookie(String name, String value)
      2. 发送Cookie对象
        • response.addCookie(Cookie cookie)
      3. 获取Cookie,拿到数据
        • Cookie[] request.getCookies()
  3. 实现原理
    • 基于响应头set-cookie和请求头cookie实现
  4. cookie的细节
    1. 一次可不可以发送多个cookie?
      • 可以
      • 可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可。
    2. cookie在浏览器中保存多长时间?
      1. 默认情况下,当浏览器关闭后,Cookie数据被销毁
      2. 持久化存储:
        • setMaxAge(int seconds)
          1. 正数:将Cookie数据写到硬盘的文件中。持久化存储。并指定cookie存活时
            间,时间到后,cookie文件自动失效
          2. 负数:默认值
          3. 零:删除cookie信息
    3. cookie能不能存中文?
      • 在tomcat 8 之前 cookie中不能直接存储中文数据。
        • 需要将中文数据转码---一般采用URL编码(%E3)
      • 在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编码存储,
        URL解码解析 ,方式为:URLEncoder.encode(string str)
        URLDecoder.decode (string str)
    4. cookie共享问题?
      1. 假设在一个tomcat服务器中,部署了多个web项目,那么在这些web项目中cookie能不能
        共享?
        • 默认情况下cookie不能共享
        • setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目录
          • 如果要共享,则可以将path设置为"/"
      2. 不同的tomcat服务器间cookie共享问题?
        • setDomain(String path):如果设置一级域名相同,那么多个服务器之间cookie可以共享
          • setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以
            共享
  5. Cookie的特点和作用
    1. cookie存储数据在客户端浏览器
    2. 浏览器对于单个cookie 的大小有限制(4kb) 以及 对同一个域名下的总cookie数量也有限制(20
      个)
    • 作用:
      1. cookie一般用于存储少量的不太敏感的数据
      2. 在不登录的情况下,完成服务器对客户端的身份识别
目录
打赏
0
0
0
0
0
分享
相关文章
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)
1181 3
macOS Sonoma 14.7.5 (23H527) 正式版 ISO、IPSW、PKG 下载
macOS Sonoma 14.7.5 (23H527) 正式版 ISO、IPSW、PKG 下载
218 2
macOS Sonoma 14.7.5 (23H527) 正式版 ISO、IPSW、PKG 下载
【C++数据结构——线性表】顺序表的基本运算(头歌实践教学平台习题)【合集】
本文档介绍了线性表的基本运算任务,涵盖顺序表和链表的初始化、销毁、判定是否为空、求长度、输出、查找元素、插入和删除元素等内容。通过C++代码示例详细展示了每一步骤的具体实现方法,并提供了测试说明和通关代码。 主要内容包括: - **任务描述**:实现顺序表的基本运算。 - **相关知识**:介绍线性表的基本概念及操作,如初始化、销毁、判定是否为空表等。 - **具体操作**:详述顺序表和链表的初始化、求长度、输出、查找、插入和删除元素的方法,并附有代码示例。 - **测试说明**:提供测试输入和预期输出,确保代码正确性。 - **通关代码**:给出完整的C++代码实现,帮助完成任务。 文档
163 5
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
大数据-90 Spark 集群 RDD 编程-高阶 RDD容错机制、RDD的分区、自定义分区器(Scala编写)、RDD创建方式(一)
148 0
魔搭社区每周速递(8.4-8.10)
315个模型、36个数据集、62个创新应用、5篇应用文章
【Java】已解决java.sql.SQLTimeoutException异常
【Java】已解决java.sql.SQLTimeoutException异常
327 0
时间函数举例
【2月更文挑战第2天】时间函数举例。
57 3
RecyclerView 的滚动时怎么实现的?(二)| Fling
RecyclerView 的滚动时怎么实现的?(二)| Fling
279 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等