前端缓存方法有哪些?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 相关的面试题。当然,面试时的问题可能会根据公司、职位和面试官的经验而有所不同。

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

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

相关文章

python中字典常用函数

字典常用函数 cmp(dict1,dict2) &#xff08;已删除&#xff0c;直接用>,<,即可&#xff09; 如果两个字典的元素相同返回0&#xff0c;如果字典dict1大于字典dict2返回1&#xff0c;如果字典dict1小于字典dict2返回-1。 先比较字典的长度&#xff0c;然后比较键&#x…

固定资产卡片乱怎么管理

固定资产卡片是记录公司固定资产信息的重要工具&#xff0c;如果管理不善&#xff0c;容易造成卡片混乱、数据错误等问题。 为了避免这种情况的发生&#xff0c;可以采取以下措施&#xff1a;  建立完善的资产管理制度&#xff0c;明确固定资产的分类、标准和使用情况&#x…

Hadoop -HDFS常用操作指令

1.启动HDFS hadoop/sbin/start-dfs.sh2.关闭 HDFS hadoop/sbin/stop-dfs.sh3. 在HDFS中创建文件夹 #老版本 hadoop fs -mkdir -p path #新版本 hadoop dfs -mkdir -p path4.查看指定目录下内容 hadoop fs -ls [-h] [-R] path hadoop dfs -ls [-h] [-R] ptahpath 指定…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉八一新书山东师范大学图书馆

客户忠诚度和保留率:不良方法的陷阱

良好的客户忠诚度和保留策略是任何电子商务业务成功的关键因素。但当出现问题时会发生什么&#xff1f;您可以采取哪些措施来鼓励忠诚度并减少客户流失&#xff1f;继续阅读以了解不良客户忠诚度和保留实践的后果。 忠诚度和保留率低下的后果 客户不满意和高流失率 客户忠诚…

如何在Mac电脑上安装WeasyPrint:简单易懂的步骤

1. 安装homebrew 首先需要确保安装了homebrew&#xff0c;通过homebrew安装weasyprint可以将需要的库都安装好&#xff0c;比pip安装更简单快捷。 安装方法如下&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)&qu…

苹果微信聊天记录删除了怎么恢复?果粉原来是这样恢复的

粗心大意删除了微信聊天记录&#xff1f;有时候&#xff0c;一些小伙伴可能只是想要删除一部分聊天记录&#xff0c;但是在进行批量删除时&#xff0c;不小心勾选到了很重要的对话&#xff0c;从而导致记录丢失。 如果这时想找回聊天记录该怎么办&#xff1f;微信聊天记录删除…

算法笔记 二叉搜索树

二叉搜索树&#xff08;Binary Search Tree&#xff0c;简称 BST&#xff09;是一种数据结构&#xff0c;用于存储具有可比较键&#xff08;通常是数字或字符串&#xff09;的元素 1 结构特点 节点结构&#xff1a;每个节点都有一个键和两个子节点&#xff08;左子节点和右子…

服务器管理系统是什么

服务器管理系统是什么 服务器管理系统&#xff0c;是在操作系统下对操作系统的服务器软件及其相关软件进行二次设置的管理软件&#xff0c;是运营商管理域名、服务器、企业邮局、数据库等服务器主机类产品的一个网站平台&#xff0c;以达到快捷实现域名、服务器主机、企业邮局…

Wrist PPG数据集

Wrist PPG数据集通常是指采集自腕部&#xff08;手腕&#xff09;的光学心率传感器数据集&#xff0c;用于监测心率、心律变异性和其他生理信号。PPG代表光学脉搏波形&#xff0c;它是通过测量皮肤表面的光反射来获得心率信息的一种非侵入性方法。这些数据集通常用于研究心脏健…

elementUI textarea可自适应文本高度的文本域

效果图; 通过设置 autosize 属性可以使得文本域的高度能够根据文本内容自动进行调整&#xff0c;并且 autosize 还可以设定为一个对象&#xff0c;指定最小行数和最大行数。 <el-inputtype"textarea"autosizeplaceholder"请输入内容"v-model"te…

NVIDIA CUDA Win10安装步骤

前言 windows10 版本安装 CUDA &#xff0c;首先需要下载两个安装包 CUDA toolkit&#xff08;toolkit就是指工具包&#xff09;cuDNN 1. 安装前准备 在安装CUDA之前&#xff0c;需要完成以下准备工作&#xff1a; 确认你的显卡已经正确安装&#xff0c;在设备管理器中可以看…

MFC 与 QT“常用控件”对比

1、 常用控件 MFC QT 1.静态文本框/标签 CStatic QLabel 按钮 CButton包含了3种样式的按钮&#xff0c;Push Button&#xff0c;Check Box&#xff0c;Radio Box 4种不同的类 2.按钮&#xff1a;推动按钮 Push Button(同一个类CButton) QPushButton 3.按钮&#xf…

【从0学习Solidity】2. 值类型详解

Solidity极简入门: 2. 值类型 博主简介&#xff1a;不写代码没饭吃&#xff0c;一名全栈领域的创作者&#xff0c;专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构&#xff0c;分享一些项目实战经验以及前沿技术的见解。关注我们的主页&#xff0c;探索全栈开发…

【跟小嘉学 Rust 编程】二十二、常用 API

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

计算机网络的故事——HTTP报文内的HTTP信息

HTTP报文内的HTTP信息 文章目录 HTTP报文内的HTTP信息一、HTTP 报文二、请求报文及响应报文的结构三、编码提升传输速率 一、HTTP 报文 HTTP报文是由多行&#xff08;CRLF作换行符&#xff09;数据构成的字符串文本&#xff0c;HTTP报文可以分为报文首部和报文主体两部分&…

深度学习笔记

1. 代价函数(cost function)与误差函数(loss function)之间的关系&#xff1a;&#xff0c;其中J为代价函数&#xff0c;L为误差函数&#xff0c;Y为标签矢量&#xff0c;A为根据样本计算矢量。 2. 代价函数J对w和b的导数&#xff1a;推导过程&#xff0c;误差函数以交叉熵 为…

Java“牵手”京东商品价格数据,京东商品历史价格数据接口,京东API接口申请指南

京东平台商品历史价格接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取京东商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片&#xff0c;历史价格&#xff0c;现在的价格等详细信息 。 获取商品价格接口API是一种用于获…

Unity 安卓(Android)端AVProVideo插件播放不了视频,屏幕一闪一闪的

编辑器运行没有问题&#xff0c;但是安卓就有问题&#xff0c;在平板上运行就会报错&#xff1a; vulkan graphics API is notsupported 说不支持Vulkan图形API,解决方法&#xff1a;把Vulkan删除掉

Laravel 表单验证器的常用的2种使用方法

1、使用控制器的 validate 方法进行参数验证 场景一&#xff1a;前后端未分离 /*** 保存一篇新的博客文章。** param Request $request* return Response*/ public function store(Request $request) {$this->validate($request, [title > required|unique:posts|max:2…