一文弄懂session&cookie

简介: 先聊一聊session和cookie的起源

session&cookie😁

先聊一聊session和cookie的起源

  • web1.0强调的是资源的共享
  • web2.0强调的是交互,引入了session和cookie用于实现状态的记录
  • web3.0强调的是双赢

session和cookie的特征

  • session和cookie都是服务器生成的,都是用来存储特定的值(键值对)
  • session是返给服务器的,cookie是存储在客户端的。
  • 客户端在发送请求的时候,会自动将可用cookie封装在请求头中并和请求一起发送
  • session和cookie都是有生命周期的cookie的生命周期一般会受两个因素影响:
  1. cookie的自身存活时间
  2. 客户端是否保留了cookiesession的生命周期也由两个因素影响:
  1. 服务器对于session对象保存的最大时间的设置
  2. 客户端进程是否关闭(客户端关闭只对用户有影响)
  • cookie和session都有其作用域

cookie是什么?

Cookie 是一些数据, 存储于你电脑上的文本文件中

当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息

Cookie 的作用就是用于解决 "如何记录客户端的用户信息"

如何创建cookie

通过 JavaScript 创建 cookie

我们可以通过javascript的document.cookie属性来创建,读取,删除cookie

  1. 创建cookie
document.cookie = "username=cxy";
复制代码

当然我们还可以为其设置有效日期,因为默认情况下浏览器关闭会删除cookie

document.cookie = "username=mengxiangrui; expires=cxy, 31 Dec 2021 12:00:00 UTC";
复制代码
  1. 读取cookie
var cookie = document.cookie
复制代码
  1. 改变cookie 我们想要改变cookie的时候我们可以通过再次创建来改变它
  2. 删除cookie 我们直接可以通过设置日期为过去来删除cookie

来试一下用jq操作cookie吧

  1. 创建cookie
$.cookie('name', 'cxy');
复制代码
  1. 创建 cookie,并设置 7 天后过期
$.cookie('name', 'cxy', { expires: 7 });
复制代码
  1. 读取 cookie
$.cookie('name'); // cxy
复制代码
  1. 删除cookie
$.removeCookie('name')
复制代码

举个🌰

$(document).ready(function(){
  $.cookie('name', 'cxy');  // 创建 cookie
  name = $.cookie('name');     // 读取 cookie
  $.cookie('name2', 'cxy', { expires: 7, path: '/' });
  name2 = $.cookie('name2');
});
复制代码

跑在本地服务器上大家会看到我们存储的cookie

1.webp.jpg

用JQ创建cookie

  1. 创建 cookie:
$.cookie('name', 'value');
复制代码

如果未指定过期时间,则会在关闭浏览器或过期。

  1. 创建 cookie,并设置 7 天后过期:
$.cookie('name', 'value', { expires: 7 });
复制代码
  1. 创建 cookie,并设置 cookie 的有效路径,路径为网站的根目录:
$.cookie('name', 'value', { expires: 7, path: '/' });
复制代码

注: 在默认情况下,只有设置 cookie 的网页才能读取该 cookie。如果想让一个页面读取另一个页面设 置的cookie,必须设置 cookie 的路径。cookie 的路径用于设置能够读取 cookie 的顶级目录。将这 个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。

  1. 读取 cookie:
$.cookie('name'); // => "value"
$.cookie('nothing'); // => undefined
复制代码
  1. 读取所有的 cookie 信息:
$.cookie(); // => { "name": "value" }
复制代码
  1. 删除 cookie:
$.removeCookie('name');



相关文章
|
18天前
|
存储 安全 搜索推荐
理解Session和Cookie:Java Web开发中的用户状态管理
理解Session和Cookie:Java Web开发中的用户状态管理
40 4
|
21天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
1月前
|
缓存 Java Spring
servlet和SpringBoot两种方式分别获取Cookie和Session方式比较(带源码) —— 图文并茂 两种方式获取Header
文章比较了在Servlet和Spring Boot中获取Cookie、Session和Header的方法,并提供了相应的代码实例,展示了两种方式在实际应用中的异同。
163 3
servlet和SpringBoot两种方式分别获取Cookie和Session方式比较(带源码) —— 图文并茂 两种方式获取Header
|
1月前
|
存储 安全 数据安全/隐私保护
Cookie 和 Session 的区别及使用 Session 进行身份验证的方法
【10月更文挑战第12天】总之,Cookie 和 Session 各有特点,在不同的场景中发挥着不同的作用。使用 Session 进行身份验证是常见的做法,通过合理的设计和管理,可以确保用户身份的安全和可靠验证。
21 1
|
2月前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
2月前
|
存储 前端开发 Java
JavaWeb基础7——会话技术Cookie&Session
会话技术、Cookie的发送和获取、存活时间、Session钝化与活化、销毁、用户登录注册“记住我”和“验证码”案例
JavaWeb基础7——会话技术Cookie&Session
|
2月前
|
存储 安全 NoSQL
Cookie、Session、Token 解析
Cookie、Session、Token 解析
62 0
|
3月前
|
存储 JavaScript 前端开发
Cookie 反制策略详解:Cookie加解密原理、Cookie和Session机制、Cookie hook、acw_sc__v2、jsl Cookie调试、重定向Cookie
Cookie 反制策略详解:Cookie加解密原理、Cookie和Session机制、Cookie hook、acw_sc__v2、jsl Cookie调试、重定向Cookie
209 1
|
3月前
|
存储 安全 搜索推荐
【JavaWeb 秘籍】Cookie vs Session:揭秘 Web 会话管理的奥秘与实战指南!
【8月更文挑战第24天】本文以问答形式深入探讨了Web开发中关键的会话管理技术——Cookie与Session。首先解释了两者的基本概念及工作原理,随后对比分析了它们在存储位置、安全性及容量上的差异。接着,通过示例代码详细介绍了如何在JavaWeb环境中实现Cookie与Session的操作,包括创建与读取过程。最后,针对不同应用场景提供了选择使用Cookie或Session的指导建议,并提出了保障二者安全性的措施。阅读本文可帮助开发者更好地理解并应用这两种技术。
61 1
|
3月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
247 0