教你一文搞懂cookie

news2024/11/24 18:34:04

cookie

1、cookie是什么?

cookie的中文翻译是曲奇,小甜饼的意思。cookie其实就是一些数据信息,类型为“小型文本文件”,存储于电脑上的文本文件中。

2、cookie有什么用?

Cookie主要用于维持用户会话、个性化服务、追踪用户行为、支持电商购物车功能及进行网站统计分析等。

场景

比如我登录csdn,我直接进去不需要进行登录了,但是时间长了又需要你从新登录,这就是浏览器保存了cookie,只要cookie不到期就不需要重新登录,假如下图AU就是身份cookie,只要这个cookie不到期,我就能直接进去csdn不需要登录。
在这里插入图片描述

Cookie表示

cookie是以键值对类型标识的,想当与java中的Map类型,如age:18,cookie键为age,值为18。

Cookie的生命周期

cookie有2种存储方式,一种是会话性,一种是持久性。

会话性:如果cookie为会话性,那么cookie仅会保存在客户端的内存中,当我们关闭客服端时cookie也就失效了
持久性:如果cookie为持久性,那么cookie会保存在用户的硬盘中,直至生存期结束或者用户主动将其销毁。

因为cookie保存在本地,所以我们可以更改cookie,可以使用插件进行更改,但是更改后一般cookie就会失效。
在这里插入图片描述
从浏览器中我们就能看到很多关于cookie的信息,如键值、域名、路径和过期时间等。

域名和路径作用

也许有人就问了,这个域名和路径有什么用,域名主要用来确定是往哪儿传cookie,路径确定什么使用传。
如上图的键为AU的cookie的域名为 .csdn.net,路径为/(/表示根路径,就是当我们只要访问 .csdn.net域名下的内容都需要将AU发送到服务器),这时如果我们访问这样一个地址https://editor.csdn.net/md?articleId=137230869,这时就满足域名.csdn.net,路径也满足(根路径),就会传输AU。
在这里插入图片描述

Cookie的HTTP传输

HTTP请求

在这里插入图片描述
我们在发送HTTP请求时,发现游览器将我们的cookie都进行了携带(注意:游览器只会携带在当前请求的url中包含了该cookie中path值的cookie),并且是以key:value的形式进行表示的。多个cookie用;进行隔开。

HTTP响应

cookie是如何设置的
在这里插入图片描述
服务器设置了2个cookie,返回给游览器。我们发现在HTTP响应中, cookie的表示形式是,Set-Cookie:cookie的名字,cookie的值。如果有多个cookie,那么在HTTP响应中就使用多个Set-Cookie进行表示。

流程

在这里插入图片描述
以上并不是真正的csdn的流程,只是我用来说名cookie是的流程。

参考

cookie是什么?有什么用?cookie详解,一篇文章彻底搞懂cookie

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1563891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS 应用开发之LifecycleForm接口切换LifecycleApp接口切换 LifecycleApp接口切换

LifecycleForm接口切换 FA模型接口Stage模型接口对应d.ts文件Stage模型对应接口onCreate?(want: Want): formBindingData.FormBindingData;ohos.app.form.FormExtensionAbility.d.tsonAddForm(want: Want): formBindingData.FormBindingData;onCastToNormal?(formId: string…

基于Springboot的一站式家装服务管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的一站式家装服务管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体…

Linux系统下安装jdk与tomcat【linux】

一、yum介绍 linux下的jdk安装以及环境配置,有两种常用方法: 1.使用yum一键安装。 2.手动安装,在Oracle官网下载好需要的jdk版本,上传解压并配置环境。 这里介绍第一种方法,在此之前简单了解下yum。 yum 介绍 yum&…

Micron FY24 Q2业绩强劲,凭内存实现翻盘

根据TechInsights数据显示,美光科技24财年第二季度业绩强劲,公司通过技术创新和产能优化,成功抓住了AI服务器和其他高性能应用带来的市场需求增长机遇。尽管短期内面临供应紧张的问题,但美光通过加大研发投入和产能转换力度&#…

重磅!OpenAI宣布无需注册即可使用GPT

以下转自:凌晨重磅!GPT今天起无需注册就能用 今天凌晨,OpenAI 宣布, GPT 无需注册就能立即使用。 目前每周有来自全球 185 个国家和地区的 1 亿多人在使用 GPT 获取新知识,OpenAI 正在逐步开放这项服务,旨…

LeetCode刷题记(一):1~30题

1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以…

“可惜我相貌平平,惊艳不了你的青春......”

动态内存管理 1. 为什么要有动态内存分配2. malloc和free2.1 malloc2.2 free 3. calloc和realloc3.1 calloc3.2 realloc 4. 常⻅的动态内存的错误4.1 对NULL指针的解引⽤操作4.2 对动态开辟空间的越界访问4.3 对⾮动态开辟内存使⽤free释放4.4 使⽤free释放⼀块动态开辟内存的…

海外媒体宣发技巧解析从而提升宣发效果

在当今全球化的媒体环境下,海外媒体宣发是企业和品牌推广的重要手段。然而,要在海外市场取得成功,一味地复制国内的宣发策略是行不通的。要想提升宣发效果,就必须了解并掌握一些海外媒体宣发的技巧。世媒讯一家从事海内外媒体的推…

python爬虫———urllibd的基本操作(第十二天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

什么是AIGC,AIGC的应用领域有哪些,以及对AIGC的未来展望有什么值得关注的方向

AIGC:人工智能生成内容的深度解析 在数字技术的浪潮中,AIGC(ArtificialIntelligenceGeneratedContent,人工智能生成内容)逐渐崭露头角,成为继专业生产内容(PGC)和用户生产内容(UGC)之后的新型内容创作方式。它不仅改变了内容生产的传统模式,更在多个行业中展现出…

OpenHarmony实战开发-分布式数据管理

​介绍 本示例展示了在eTS中分布式数据管理的使用,包括KVManager对象实例的创建和KVStore数据流转的使用。 通过设备管理接口ohos.distributedDeviceManager ,实现设备之间的kvStore对象的数据传输交互,该对象拥有以下能力详见 ;1、注册和解…

代码随想录第28天 | 93.复原IP地址 、 78.子集 、 90.子集II

一、前言: 参考文献:代码随想录 今天的主题内容是回溯算法,这一章的干货很多,我需要慢慢的品味,不单单只是表象,还需要研究深层原理。 二、复原IP地址 1、思路: (1)…

【BlossomConfig】SpringCloud项目是如何对bootstrap配置文件进行加载的?

文章目录 bootstrap配置文件的读取什么是配置中心?以及如何实现一个配置中心?SpringBoot如何实现配置的管控?SpringCloud项目是如何对bootstrap配置文件进行加载的?Nacos是如何实现配置文件的读取加载的?开发配置中心前…

2024年4月腾讯云最新活动:领3150元代金券礼包,新购、续费、升级可用!

腾讯云推出大促优惠活动:免费领取3150元代金券礼包;云服务器、云数据库、COS等上云必备产品,低至1.8折起;云产品助力企业和开发者轻松上云! 活动入口:https://txy.ink/act/ 活动详情: 1、新人…

顺序表的创建

本期我们主要讨论动态顺序表 这个内容可以分为三个部分 1.创建头文件进行函数声明 2.创建源文件进行函数定义 3.创建主文件进行测试 我们先来看看头文件里的函数声明&#xff1a; 函数声明&#xff1a; 头文件中包括<stdlib.h>库函数用于进行动态内存管理&#xff0…

【攻防世界】warmup (代码审计)

进入题目环境&#xff0c;只有一个表情&#xff1a; ctrl u 查看源代码&#xff1a; 源代码提示我们访问 /source.php。访问结果如下&#xff1a; 我们进行代码审计&#xff0c;发现解题的关键点 include &_REQUEST[file]。但是题目使用了白名单进行了过滤。我们发现白名单…

C++bitset类型

bitset类型 我们介绍了将整型运算对象当作二进制位集合处理的一些内置运算符。 标准库还定义了bitset类&#xff0c;使得位运算的使用更为容易&#xff0c;并且能够处理超过最长整型类型大小的位集合。bitset类定义在头文件bitset中。 定义和初始化bitset bitset类是一个类模…

近屿智能独家发布行业领先的AIGC学习路径图

近日来“人工智能即将取代大量人类工作”的话题愈演愈烈&#xff0c;在CCTV-13的《两会你我他》访谈节目中&#xff0c;众多专家也围绕这一议题展开了深入的讨论&#xff0c;AI不会取代你的工作&#xff0c;会取代你的是懂AI技术的人。李强总理在访谈中也强调了推动"人工智…

【NTN 卫星通信】卫星辅助补充下行数据应用场景

1 卫星辅助下行数据场景概述 在乡村地区向地面接入网覆盖欠佳或无线电条件(例如山谷地区)的用户提供无线接入网可能无法提供所需的服务性能。   增加补充下行数据容量(例如由NTN提供)将有助改善服务性能和QoE&#xff0c;例如支援与视讯消费有关的流量不对称。因此&#xff0…

SpringBoot:自定义线程池配置类

文章目录 一、前言二、案例展示1、初始版本2、代码审核意见和优化建议3、潜在问题和风险4、优化建议5、优化后的代码 三、具体使用 一、前言 有时候我们在项目中做一些长链路的跑批任务时&#xff0c;基于Springboot项目的定时任务&#xff0c;我们可以指定一个自定义的线程配…