• cookie入门


    会话技术

      会话是指一个终端用户与交互系统进行通讯的过程。

      一次会话过程中包含多次请求和响应。

      浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。

      客户端会话技术:cookie    服务器端会话技术:session

    Cookie会话技术

      cookie是客户端会话技术,将数据保存到客户端,cookie只能存放字符串数据(键值对)

      cookie一般用于存出少量的不太敏感的数据

      在不登录的情况下,完成服务器对客户端的身份识别

       cookie的原理细节是,客户端在第一次请求的时候,服务器的响应会携带一些数据信息,此时客户端会将这些数据信息放到客户端本地,并在之后的请求中携带这些数据信息。

    new Cookie(String name, String value)  创建Cookie对象,绑定数据
    response.addCookie(Cookie cookie)  发送Cookie对象
    Cookie[]  request.getCookies()   获取Cookie,拿到数据

    cookie的细节

    可以发送多个cookie吗

      一次可以发送多个cookie,我们可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可

    cookie保存问题

      1. 默认情况下,当浏览器关闭后,Cookie数据被销毁

      2. 持久化存储:

    cookie.setMaxAge(int seconds)

    1. 正数:将Cookie数据写到硬盘的文件中。持久化存储。并指定cookie存活时间,时间到后,cookie文件自动失效
    2. 负数:默认值
    3. 零:删除cookie信息

    cookie的中文问题

      在tomcat8之前,cookie中不能直接存储中文数据,需要进行转码,一般使用URL转码

      在tomcat8之后,cookie支持中文cookie,但不支持特殊字符,如空格,所以也一般使用URL转码

    cookie的共享问题

      我们有这样一个问题,假设在一个tomcat服务器中,部署了多个web项目,那么这些的web项目的cookie能不能共享呢?

      答案是默认情况下是不能的,我们可以通过这个方法设置cookie的获取范围

    cookie.setPath(String path) 设置cookie的获取范围。默认情况下,设置当前的虚拟目录

      如果设置为本项目的虚拟目录,则本项目的web资源都能获取cookie数据

      如果想要设置为其他项目能获取cookie数据,则设置为"/"即可

      不同的tomcat服务器cookie共享问题:

    setDomain(String path) 如果设置一级域名相同,那么多个服务器之间cookie可以共享

      例如:setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以共享

    cookie的特点

      1. cookie存储数据在客户端浏览器

      2. 浏览器对于单个cookie 的大小有限制(4kb) 以及 对同一个域名下的总cookie数量也有限制(20个)

    一点一点积累,一点一点蜕变!
  • 相关阅读:
    ios-UIScrollView-常用属性和方法
    ios-后台运行UIApplication
    ios-UIImage写入相册
    ios-时间格式化
    ios-block-对象与对象之间的解偶合
    ios-通知
    Copy List with Random Pointer
    leetcode面试频率
    TCP的连接(三次握手)和释放(四次挥手)
    Longest Palindromic Substring(字符串的最大回文子串)
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/14833009.html
Copyright © 2020-2023  润新知