当前位置: 首页 > news >正文

前端缓存方法有哪些?cookie有哪些属性?

这里写目录标题

  • 前端缓存方法有哪些:
  • cookie有哪些属性?

前端缓存方法有哪些:

  1. Browser Cache(浏览器缓存):

    • 当浏览器请求一个资源(例如图片、CSS、JS 文件)时,它会首先检查自己的缓存中是否已经有这个资源。如果有,就直接使用缓存的版本。
  2. HTTP Cache Headers:

    • 使用如 Cache-ControlETagLast-Modified 等 HTTP 头来控制资源的缓存行为。
  3. Service Workers:

    • Service Workers 运行在浏览器背景中,允许你拦截和缓存网络请求,使得你可以创建离线优先的网络体验。
  4. LocalStorage & SessionStorage:

    • localStorage: 用于永久存储数据,直到它被手动删除。
    • sessionStorage: 仅在当前浏览器会话期间存在的数据。
  5. Cookies:

    • 虽然 Cookies 主要用于存储会话信息,但也可以用作缓存的一部分。
  6. IndexedDB:

    • 一个事务性的数据库系统,允许存储大量数据,包括文件/二进制数据。
  7. Web Storage (localStorage & sessionStorage):

    • 提供了简单的键值对存储机制。与 Cookie 相比,它有更大的存储空间并且更加高效。
  8. Application Cache (已被废弃):

    • 是一个 HTML5 规范,允许开发者指定应该被缓存的文件,以便在没有网络连接的情况下进行访问。
  9. Memory Cache:

    • 浏览器会将部分或全部文档的 DOM 保存在内存中,以便快速切换。
  10. CDN (Content Delivery Network):

  • 虽然这不是前端缓存方法,但通过使用 CDN,可以缓存网站的静态资源,从而更快地将其传输给用户。

选择何种缓存方法取决于应用的具体需求,例如数据的大小、持续时间、是否需要离线访问等。很多时候,最佳实践是组合使用多种缓存方法以达到最佳效果。

cookie有哪些属性?

Cookies 是由浏览器存储的小型数据片段,并与特定的网站关联。它们在 HTTP 头部中设置,并用于维护会话、跟踪用户。以下是 cookie 的常见属性:

  1. Name:Cookie 的名称。每个 Cookie 都有一个唯一的名称,以区分同一域名下的其他 Cookie。

  2. Value:与 Cookie 名称关联的值。

  3. Domain:指定哪个域名下的页面可以访问该 Cookie。如果未设置,则默认为创建 Cookie 时的域名

  4. Path:指定哪些路径可以访问该 Cookie。如果未设置,默认为’/',即该域名下的所有路径都可以访问。

  5. Expires/Max-Age

    • Expires:设置 Cookie 的过期日期和时间。在此日期和时间之后,Cookie 会被删除
    • Max-Age:设置从当前时间开始,Cookie 存活的最长秒数。当达到这个时间后,Cookie 会被自动删除
  6. Secure:当设置此标志时,Cookie 只会在使用 HTTPS 协议的请求中发送。

  7. HttpOnly:当设置此标志时,Cookie 不会被 JavaScript 访问只能由服务器访问。这有助于减少跨站脚本攻击

  8. SameSite:这是一个相对较新的属性,用于声明 Cookie 是否在跨站点请求中发送

    • Strict:Cookie 有在同一个站点的请求中发送。
    • Lax:在顶级导航GET 方法跨站请求中,Cookie 会被发送。
    • None:Cookie 会在所有的请求中发送,无论是否跨站点

cookie相关的面试题,来不及准备了,先记录:
与 Cookie 相关的面试题可以涵盖其基础知识、应用和安全性等方面。以下是一些常见的面试题:

  1. 基础知识

    • 什么是 Cookie?
    • Cookie 和 sessionStorage、localStorage 有什么区别?
    • 为什么会使用 Cookie?
    • 如何设置、读取和删除 Cookie?
  2. 使用场景与限制

    • 什么情况下应该使用 Cookie,而什么情况下应该避免?
    • 描述一个使用 Cookie 进行身份验证的场景。
    • Cookie 的大小和数量有什么限制?
  3. 安全性

    • 什么是第三方 Cookie,为什么它们是有争议的?
    • 如何防止 Cookie 被劫持?
    • 什么是跨站请求伪造(CSRF)?如何使用 Cookie 防止它?
    • HttpOnlySecure 标志是什么?它们为什么重要?
    • 什么是 SameSite 属性,它如何提高安全性?
  4. 与服务器的交互

    • 当浏览器发起请求时,Cookie 是如何发送到服务器的?
    • 如何在服务器端设置一个 Cookie 并发送到客户端?
  5. 其他技术与 Cookie 的关系

    • 如何使用 JavaScript 操作 Cookie?
    • 描述一个使用 Cookie 和 sessionStorage 同时实现的功能。
    • Cookie 和 JSON Web Tokens (JWT) 之间有什么关系?
  6. 最佳实践

    • 在设计一个需要长时间登录的应用程序时,你会如何使用 Cookie?
    • 当存储敏感信息时,你会如何确保 Cookie 的安全?

以上只是一些常见的与 Cookie 相关的面试题。当然,面试时的问题可能会根据公司、职位和面试官的经验而有所不同。

相关文章:

前端缓存方法有哪些?cookie有哪些属性?

这里写目录标题 前端缓存方法有哪些:cookie有哪些属性? 前端缓存方法有哪些: Browser Cache(浏览器缓存): 当浏览器请求一个资源(例如图片、CSS、JS 文件)时,它会首先检查自己的缓存…...

在PHP8中遍历数组-PHP8知识详解

所谓遍历数组就是把数组中的变量值读取出来。遍历数组中的所有元素对程序员来说是经常使用的操作,通过遍历数组可以完成数组元素的查询工作。 这好比你去商场买东西一样,要买什么东西,就去该区域浏览一遍,以便找出适合自己的产品…...

代码随想录算法训练营之JAVA|第四十三天|139. 单词拆分

今天是第 天刷leetcode,立个flag,打卡60天。 算法挑战链接 139. 单词拆分https://leetcode.cn/problems/word-break/ 第一想法 看完之后完全没有想法。 看完代码随想录之后的想法 这是一个完全背包的问题,使用完全背包的解法。 单词就…...

解决VUE3项目部署后存在缓存页面不更新的问题

方法一&#xff1a; 找到项目中的index.html文件&#xff0c;在头部加上以下代码 <meta http-equiv"Pragma" content"no-cache"> <meta http-equiv"Cache-control" content"no-cache"> <meta http-equiv"Cache&…...

私募证券基金动态-23年8月报

成交量&#xff1a;8月日均8,252.00亿元 8月A股两市日均成交8,252.00亿元&#xff0c;环比下降12.23%、同比下降18.11%。8月整体23个交易日&#xff0c;仅有3个交易日单日成交金额过万亿&#xff0c;且成交量起伏较大&#xff0c;单日成交金额最低仅有6805.32亿元&#xff08;…...

Qt/C++音视频开发49-推流到各种流媒体服务程序

一、前言 最近将推流程序完善了很多功能&#xff0c;尤其是增加了对多种流媒体服务程序的支持&#xff0c;目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等&#xff0c;其中经过大量的对比测试&#xff0c;个人比较建议使用mediamtx和…...

深度学习学习笔记——解决过拟合问题的方法:权重衰减和暂退法,与正则化之间的关系

解决过拟合问题是机器学习和深度学习中关键的任务之一&#xff0c;因为它会导致模型在训练数据上表现良好&#xff0c;但在未见数据上表现不佳。以下是一些解决过拟合问题的常见方法&#xff1a; 增加训练数据&#xff1a; 增加更多的训练数据可以帮助模型更好地捕捉数据的真实…...

【Leetcode Sheet】Weekly Practice 5

Leetcode Test 823 带因子的二叉树(8.29) 给出一个含有不重复整数元素的数组 arr &#xff0c;每个整数 arr[i] 均大于 1。 用这些整数来构建二叉树&#xff0c;每个整数可以使用任意次数。其中&#xff1a;每个非叶结点的值应等于它的两个子结点的值的乘积。 满足条件的二…...

STM32 SPI对存储芯片发送写是能命令后一直忙等待

我采用CUBE配置的SPI外设&#xff0c;对NSS引脚选择了硬件输出&#xff0c;这种方式对读取命令没有影响&#xff0c;但是对写命令有&#xff0c;当我发送写是能命令后&#xff0c;读取状态寄存器的值一直都是忙&#xff0c;我猜测这可能是硬件控制NSS引脚后&#xff0c;对于HAL…...

MySql学习笔记01——SQL的相关术语

SQL&#xff08;相关术语&#xff09; 数据库database 有组织的存储数据的容器&#xff0c;通常是一个文件或者一组文件 表table 存储数据的文件称为表&#xff0c;表是某种特定数据的结构化清单。 表可以保存顾客清单、产品目录&#xff0c;或者其他信息清单。 要注意的是&am…...

SpringMVC入门指南

目录 前言 一、什么是SpringMVC 二、MVC架构模式 三、SpringMVC的工作流程 四、SpringMVC核心组件 五、SpringMVC的优势 六、SpringMVC的配置与常用注解 七、SpringMvc请求处理流程、 控制器的编写 、视图的渲染 1.请求处理流程&#xff1a; 2.控制器的编写&#xff1…...

mysql忘记root密码如何解决?

第一步&#xff1a;首先右键此电脑打开管理器&#xff0c;查看mysql是否运行 第二步&#xff1a;用管理员模式打开命令框 输入net stop mysql暂停mysql运行 net stop mysql 然后输入下面指令 mysql --console --skip-grant-tables --shared-memory 显示如下 第三步&…...

ChatGPT可以生成Windows密钥

ChatGPT 可以回答许多问题、生成和修改代码&#xff0c;最近还可以生成 Windows 10 和 Windows 11 的许可证密钥。自从 OpenAI 的 ChatGPT 推出以来&#xff0c;人工智能已成为许多用户面临的挑战。 他们不断地试图削弱这种智力&#xff0c;或者想尝试它的局限性和可能性。例如…...

jupyter notebook内核启动报错:ImportError: DLL load failed while importing _device

1.报错信息 File “D:\Programs\Programming\Anaconda3\envs\pytorch_mis\lib\site-packages\zmq\backend\cython_init_.py”, line 6, in from . import ( ImportError: DLL load failed while importing _device: 找不到指定的模块。 2.解决方案 pyzmq版本冲突&#xff0…...

蓝桥杯备赛(Day5)——二叉树

二叉树存储 普通做法&#xff0c;二叉树一个节点包括结点的数值以及指向左右子节点的指针 在class Node中 def __init__(self,s,lNone,rNone):self.valNoneself.llself.rr 在竞赛中&#xff0c;我们往往使用静态数组实现二叉树&#xff0c;定义一个大小为N的静态结构体数组…...

实现Android APK瘦身99.99%

摘要&#xff1a; 如何瘦身是 APK 的重要优化技术。APK 在安装和更新时都需要经过网络下载到设备&#xff0c;APK 越小&#xff0c;用户体验越好。本文作者通过对 APK 内在机制的详细解析&#xff0c;给出了对 APK 各组成成分的优化方法及技术&#xff0c;并实现了一个基本 APK…...

webScoket长连接人性化解读

今天我们来整理一下webScoket&#xff0c;首先 webScoket是HTML5提出的一个基于TCP的一个全双工可靠通讯协议&#xff0c;处在应用层。很多人喜欢说webScoket是一次连接&#xff0c;这是误区&#xff0c;其实他是基于TCP的只不过将三次握手与四次挥手进行隐藏&#xff0c;封装。…...

ESDA in PySal (1) 利用 A-DBSCAN 聚类点并探索边界模糊性

ESDA in PySAL (1) 利用 A-DBSCAN 聚类点并探索边界模糊性 在本例中,我们将以柏林的 AirBnb 房源样本为例,说明如何使用 A-DBSCAN (Arribas-Bel et al., 2019)。A-DBSCAN 可以让我们做两件事: 识别高密度 AirBnb 房源集群并划定其边界探索这些边界的稳定性%matplotlib inli…...

利用GitHub实现域名跳转

利用GitHub实现域名跳转 一、注册一个 github账号 你需要注册一个 github账号,最好取一个有意义的名字&#xff0c;比如姓名全拼&#xff0c;昵称全拼&#xff0c;如果被占用&#xff0c;可以加上有意义的数字. 本文中假设用户名为 UNIT-wuji(也是我的博客名) 地址: https:/…...

【Linux详解】——共享内存

&#x1f4d6; 前言&#xff1a;本期介绍共享内存。 目录 &#x1f552; 1. 共享内存的原理&#x1f552; 2. 共享内存的概念&#x1f558; 2.1 接口认识&#x1f558; 2.2 演示生成key的唯一性&#x1f558; 2.3 再谈key &#x1f552; 3. 共享内存相关命令&#x1f552; 4. 利…...

Flutter Spinkit贡献指南:如何为开源项目添加新动画组件

Flutter Spinkit贡献指南&#xff1a;如何为开源项目添加新动画组件 【免费下载链接】flutter_spinkit ✨ A collection of loading indicators animated with flutter. Heavily Inspired by http://tobiasahlin.com/spinkit. 项目地址: https://gitcode.com/gh_mirrors/fl/f…...

ChatGLM-6B角色扮演功能开发:基于Prompt的智能对话系统

ChatGLM-6B角色扮演功能开发&#xff1a;基于Prompt的智能对话系统 1. 引言 想象一下&#xff0c;你正在开发一个智能客服系统&#xff0c;需要让AI能够扮演不同角色的专业人士来回答用户问题。或者你正在创建一个教育应用&#xff0c;希望AI能够化身历史人物、科学导师或文学…...

SNOMED CT入门指南:从概念、关系到数据文件,手把手带你理解这个医学术语标准

SNOMED CT技术解析&#xff1a;从数据结构到医疗信息系统的实战指南 在医疗信息化领域&#xff0c;数据标准化是打破信息孤岛的关键。当不同医院的电子病历系统使用各自独立的术语体系时&#xff0c;跨机构的数据交换就像一场没有翻译的多国会议——充满误解和低效。这正是SNOM…...

YOLOE官版镜像部署指南:从环境配置到实战推理全流程

YOLOE官版镜像部署指南&#xff1a;从环境配置到实战推理全流程 1. 环境准备与快速部署 1.1 系统要求与准备工作 在开始部署YOLOE官版镜像前&#xff0c;请确保您的系统满足以下基本要求&#xff1a; 操作系统&#xff1a;推荐使用Ubuntu 20.04/22.04或CentOS 7/8GPU支持&a…...

手把手调试Linux DRM:如何用ftrace和debugfs深入connector的生命周期

深入Linux DRM调试&#xff1a;用ftrace与debugfs剖析connector全生命周期 当一块崭新的显示板卡接入系统时&#xff0c;DRM驱动中的connector如同一位尽职的接线员&#xff0c;负责建立显示设备与内核之间的通信桥梁。但在实际开发中&#xff0c;我们常会遇到热插拔检测失灵、…...

【具身智能07】具身智能世界模型与端到端架构:从看见到理解物理规律

07_具身智能世界模型与端到端架构 关键词 世界模型,端到端架构,VLA模型,DreamerV3,RoboCat,WALL-A,云边端协同,系统012架构,多时间尺度预测,因果推理一、引言:从反应式感知到预测式认知的范式转变 2024年之前,具身智能的主流是"感知-行动"反应式回路——机器人看到杯…...

零知识证明终极指南:Awesome ZKP项目快速入门教程

零知识证明终极指南&#xff1a;Awesome ZKP项目快速入门教程 【免费下载链接】awesome-zero-knowledge-proofs A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP). 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-zero-knowledge-p…...

STM32红外遥控器设计与多协议控制实现

基于STM32的万能红外遥控器设计与实现1. 项目概述1.1 系统架构本设计采用STM32F103RCT6作为主控芯片&#xff0c;构建了一个多功能红外遥控系统。系统架构包含以下核心模块&#xff1a;主控模块&#xff1a;STM32F103RCT6微控制器人机交互模块&#xff1a;1.44寸LCD显示屏 4x4…...

摆脱论文困扰!2026年实打实好用的专业降AI率平台

2026年论文降AI率工具已从“基础改写”升级为智能优化系统&#xff0c;核心评价维度包括AIGC识别精准度、文本自然度、学术格式合规性、查重适配能力、长文本逻辑性和多语种支持。本次测评覆盖6款主流工具&#xff0c;涵盖中文与英文、全流程与专项功能、免费与付费模式&#x…...

鸽姆智库(GG3M Think Tank)核心优势 |Core Strengths of GG3M Think Tank

鸽姆智库&#xff08;GG3M Think Tank&#xff09;核心优势鸽姆智库&#xff08;GG3M Think Tank&#xff09;的核心优势体现在理论原创性、技术架构创新、东方智慧深度融入与全场景工程落地能力四大维度&#xff0c;构成全球首个以东方哲学为根基的“文明级操作系统”&#xf…...