Cookie原理及使用细节

简介: Cookie原理及使用细节

一、Cookie原理

Cookie的实现是基于HTTP协议的


响应头:set-cookie

请求头:cookie

0ef7cedd81784332a39372a5cf653d70.png

浏览器开发者工具:


访问aServlet时:

a76f5011f3424889b5cb60cd7632b1ce.png

访问bServlet时:

eef20401b87044b4a94fbecc2fb4e718.png

二、Cookie使用细节

Cookie存活时间

默认情况下,Cookie存储在浏览器内存中,当浏览器关闭,内存释放,则Cookie被销毁


setMaxAge(int seconds):设置Cookie存活时间


1、正数:将Cookie写入浏览器所在电脑的硬盘,持久化存储。到时间自动删除

2、负数:默认值,Cookie在当前浏览器内存中,当浏览器关闭,则Cookie被销毁

3、零:删除对应Cookie

        //发送cookie
        //1.创建cookie对象
        Cookie cookie = new Cookie("username","zs");
        //设置存活时间  1周7天
        cookie.setMaxAge(60 * 60 * 24 * 7);
        //2.发送cookie,response
        response.addCookie(cookie);

浏览器设置的Cookie时间变化:

3aa73473b80f4c3b9cbadeb6dea0c674.png

Cookie存储中文

Cookie不能直接存储中文


如需要存储,则需要进行转码:URL编码

        //发送cookie
        String value = "张三";
        //URL 编码
        value = URLEncoder.encode(value,"UTF-8");
        System.out.println(value);
        Cookie cookie = new Cookie("username",value);
        //2.发送cookie,response
        response.addCookie(cookie);

访问aServlet和bServlet时控制台输出:

163945ee3a9b49c88cbb0dadbfdc25af.png

目录
相关文章
|
1月前
|
存储 安全 对象存储
Cookie和Session的区别:从原理到应用
【2月更文挑战第18天】
56 6
|
8月前
|
存储 编解码
cookie的相关概念及原理
cookie的相关概念及原理
76 0
|
9月前
|
存储 PHP
php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)
php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)
135 0
|
PHP 数据安全/隐私保护
PHP的cookie的域名、路径的区别是什么?底层原理是什么?
PHP的cookie的域名、路径的区别是什么?底层原理是什么?
|
安全 JavaScript 前端开发
Yii2如何保证Cookie安全?底层原理是什么?
Yii2如何保证Cookie安全?底层原理是什么?
106 0
|
存储 安全 PHP
PHP的cookie删除机制是怎样的?底层原理是什么?
PHP的cookie删除机制是怎样的?底层原理是什么?
|
存储 安全 PHP
为什么PHP的session的底层实现是基于HTTP cookie机制?底层原理是什么?
为什么PHP的session的底层实现是基于HTTP cookie机制?底层原理是什么?
|
存储 Web App开发 编解码
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
100 0
浏览器原理 32 # 跨站脚本攻击(XSS):为什么Cookie中有HttpOnly属性?
|
JavaScript 安全 数据安全/隐私保护
cookie的由来,组成,以及原理
由于http协议的无状态,服务器忘记了之前的所有请求,它无法确定这一次请求的客户端,就是之前登录成功的那个客户端。
cookie的由来,组成,以及原理
|
存储 JSON 前端开发
接口测试(28)彻底理解cookie,session,token的使用及原理2
我们也不一定需要等到token自动失效,token有撤回的操作,通过token revocataion可以使一个特定的token或是一组有相同认证的token无效。如果我们将已验证的用户的信息保存在Session中,则每次请求都需要用户向已验证的服务器发送验证信息(称为Session亲和性)。我们甚至能基于创建一个基于权限的token传给第三方应用程序,这些第三方程序能够获取到我们的数据(当然只有在我们允许的特定的token)在这之前,程序都是通过在服务端存储的登录信息来辨别请求的。尤其是在可扩展性方面。
接口测试(28)彻底理解cookie,session,token的使用及原理2