前端缓存方法有哪些?cookie有哪些属性?
这里写目录标题
- 前端缓存方法有哪些:
- cookie有哪些属性?
前端缓存方法有哪些:
-
Browser Cache(浏览器缓存):
- 当浏览器请求一个资源(例如图片、CSS、JS 文件)时,它会首先检查自己的缓存中是否已经有这个资源。如果有,就直接使用缓存的版本。
-
HTTP Cache Headers:
- 使用如
Cache-Control、ETag和Last-Modified等 HTTP 头来控制资源的缓存行为。
- 使用如
-
Service Workers:
- Service Workers 运行在浏览器背景中,允许你拦截和缓存网络请求,使得你可以创建离线优先的网络体验。
-
LocalStorage & SessionStorage:
- localStorage: 用于永久存储数据,直到它被手动删除。
- sessionStorage: 仅在当前浏览器会话期间存在的数据。
-
Cookies:
- 虽然 Cookies 主要用于存储会话信息,但也可以用作缓存的一部分。
-
IndexedDB:
- 一个事务性的数据库系统,允许存储大量数据,包括文件/二进制数据。
-
Web Storage (localStorage & sessionStorage):
- 提供了简单的键值对存储机制。与 Cookie 相比,它有更大的存储空间并且更加高效。
-
Application Cache (已被废弃):
- 是一个 HTML5 规范,允许开发者指定应该被缓存的文件,以便在没有网络连接的情况下进行访问。
-
Memory Cache:
- 浏览器会将部分或全部文档的 DOM 保存在内存中,以便快速切换。
-
CDN (Content Delivery Network):
- 虽然这不是前端缓存方法,但通过使用 CDN,可以缓存网站的静态资源,从而更快地将其传输给用户。
选择何种缓存方法取决于应用的具体需求,例如数据的大小、持续时间、是否需要离线访问等。很多时候,最佳实践是组合使用多种缓存方法以达到最佳效果。
cookie有哪些属性?
Cookies 是由浏览器存储的小型数据片段,并与特定的网站关联。它们在 HTTP 头部中设置,并用于维护会话、跟踪用户。以下是 cookie 的常见属性:
-
Name:Cookie 的名称。每个 Cookie 都有一个唯一的名称,以区分同一域名下的其他 Cookie。
-
Value:与 Cookie 名称关联的值。
-
Domain:指定哪个域名下的页面可以访问该 Cookie。如果未设置,则默认为创建 Cookie 时的域名。
-
Path:指定哪些路径可以访问该 Cookie。如果未设置,默认为’/',即该域名下的所有路径都可以访问。
-
Expires/Max-Age:
- Expires:设置 Cookie 的过期日期和时间。在此日期和时间之后,Cookie 会被删除。
- Max-Age:设置从当前时间开始,Cookie 存活的最长秒数。当达到这个时间后,Cookie 会被自动删除。
-
Secure:当设置此标志时,Cookie 只会在使用 HTTPS 协议的请求中发送。
-
HttpOnly:当设置此标志时,Cookie 不会被 JavaScript 访问,只能由服务器访问。这有助于减少跨站脚本攻击。
-
SameSite:这是一个相对较新的属性,用于声明 Cookie 是否在跨站点请求中发送:
- Strict:Cookie 只有在同一个站点的请求中发送。
- Lax:在顶级导航和 GET 方法的跨站请求中,Cookie 会被发送。
- None:Cookie 会在所有的请求中发送,无论是否跨站点。
cookie相关的面试题,来不及准备了,先记录:
与 Cookie 相关的面试题可以涵盖其基础知识、应用和安全性等方面。以下是一些常见的面试题:
-
基础知识:
- 什么是 Cookie?
- Cookie 和 sessionStorage、localStorage 有什么区别?
- 为什么会使用 Cookie?
- 如何设置、读取和删除 Cookie?
-
使用场景与限制:
- 什么情况下应该使用 Cookie,而什么情况下应该避免?
- 描述一个使用 Cookie 进行身份验证的场景。
- Cookie 的大小和数量有什么限制?
-
安全性:
- 什么是第三方 Cookie,为什么它们是有争议的?
- 如何防止 Cookie 被劫持?
- 什么是跨站请求伪造(CSRF)?如何使用 Cookie 防止它?
HttpOnly和Secure标志是什么?它们为什么重要?- 什么是
SameSite属性,它如何提高安全性?
-
与服务器的交互:
- 当浏览器发起请求时,Cookie 是如何发送到服务器的?
- 如何在服务器端设置一个 Cookie 并发送到客户端?
-
其他技术与 Cookie 的关系:
- 如何使用 JavaScript 操作 Cookie?
- 描述一个使用 Cookie 和 sessionStorage 同时实现的功能。
- Cookie 和 JSON Web Tokens (JWT) 之间有什么关系?
-
最佳实践:
- 在设计一个需要长时间登录的应用程序时,你会如何使用 Cookie?
- 当存储敏感信息时,你会如何确保 Cookie 的安全?
以上只是一些常见的与 Cookie 相关的面试题。当然,面试时的问题可能会根据公司、职位和面试官的经验而有所不同。
相关文章:
前端缓存方法有哪些?cookie有哪些属性?
这里写目录标题 前端缓存方法有哪些:cookie有哪些属性? 前端缓存方法有哪些: Browser Cache(浏览器缓存): 当浏览器请求一个资源(例如图片、CSS、JS 文件)时,它会首先检查自己的缓存…...
在PHP8中遍历数组-PHP8知识详解
所谓遍历数组就是把数组中的变量值读取出来。遍历数组中的所有元素对程序员来说是经常使用的操作,通过遍历数组可以完成数组元素的查询工作。 这好比你去商场买东西一样,要买什么东西,就去该区域浏览一遍,以便找出适合自己的产品…...
代码随想录算法训练营之JAVA|第四十三天|139. 单词拆分
今天是第 天刷leetcode,立个flag,打卡60天。 算法挑战链接 139. 单词拆分https://leetcode.cn/problems/word-break/ 第一想法 看完之后完全没有想法。 看完代码随想录之后的想法 这是一个完全背包的问题,使用完全背包的解法。 单词就…...
解决VUE3项目部署后存在缓存页面不更新的问题
方法一: 找到项目中的index.html文件,在头部加上以下代码 <meta http-equiv"Pragma" content"no-cache"> <meta http-equiv"Cache-control" content"no-cache"> <meta http-equiv"Cache&…...
私募证券基金动态-23年8月报
成交量:8月日均8,252.00亿元 8月A股两市日均成交8,252.00亿元,环比下降12.23%、同比下降18.11%。8月整体23个交易日,仅有3个交易日单日成交金额过万亿,且成交量起伏较大,单日成交金额最低仅有6805.32亿元(…...
Qt/C++音视频开发49-推流到各种流媒体服务程序
一、前言 最近将推流程序完善了很多功能,尤其是增加了对多种流媒体服务程序的支持,目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等,其中经过大量的对比测试,个人比较建议使用mediamtx和…...
深度学习学习笔记——解决过拟合问题的方法:权重衰减和暂退法,与正则化之间的关系
解决过拟合问题是机器学习和深度学习中关键的任务之一,因为它会导致模型在训练数据上表现良好,但在未见数据上表现不佳。以下是一些解决过拟合问题的常见方法: 增加训练数据: 增加更多的训练数据可以帮助模型更好地捕捉数据的真实…...
【Leetcode Sheet】Weekly Practice 5
Leetcode Test 823 带因子的二叉树(8.29) 给出一个含有不重复整数元素的数组 arr ,每个整数 arr[i] 均大于 1。 用这些整数来构建二叉树,每个整数可以使用任意次数。其中:每个非叶结点的值应等于它的两个子结点的值的乘积。 满足条件的二…...
STM32 SPI对存储芯片发送写是能命令后一直忙等待
我采用CUBE配置的SPI外设,对NSS引脚选择了硬件输出,这种方式对读取命令没有影响,但是对写命令有,当我发送写是能命令后,读取状态寄存器的值一直都是忙,我猜测这可能是硬件控制NSS引脚后,对于HAL…...
MySql学习笔记01——SQL的相关术语
SQL(相关术语) 数据库database 有组织的存储数据的容器,通常是一个文件或者一组文件 表table 存储数据的文件称为表,表是某种特定数据的结构化清单。 表可以保存顾客清单、产品目录,或者其他信息清单。 要注意的是&am…...
SpringMVC入门指南
目录 前言 一、什么是SpringMVC 二、MVC架构模式 三、SpringMVC的工作流程 四、SpringMVC核心组件 五、SpringMVC的优势 六、SpringMVC的配置与常用注解 七、SpringMvc请求处理流程、 控制器的编写 、视图的渲染 1.请求处理流程: 2.控制器的编写࿱…...
mysql忘记root密码如何解决?
第一步:首先右键此电脑打开管理器,查看mysql是否运行 第二步:用管理员模式打开命令框 输入net stop mysql暂停mysql运行 net stop mysql 然后输入下面指令 mysql --console --skip-grant-tables --shared-memory 显示如下 第三步&…...
ChatGPT可以生成Windows密钥
ChatGPT 可以回答许多问题、生成和修改代码,最近还可以生成 Windows 10 和 Windows 11 的许可证密钥。自从 OpenAI 的 ChatGPT 推出以来,人工智能已成为许多用户面临的挑战。 他们不断地试图削弱这种智力,或者想尝试它的局限性和可能性。例如…...
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版本冲突࿰…...
蓝桥杯备赛(Day5)——二叉树
二叉树存储 普通做法,二叉树一个节点包括结点的数值以及指向左右子节点的指针 在class Node中 def __init__(self,s,lNone,rNone):self.valNoneself.llself.rr 在竞赛中,我们往往使用静态数组实现二叉树,定义一个大小为N的静态结构体数组…...
实现Android APK瘦身99.99%
摘要: 如何瘦身是 APK 的重要优化技术。APK 在安装和更新时都需要经过网络下载到设备,APK 越小,用户体验越好。本文作者通过对 APK 内在机制的详细解析,给出了对 APK 各组成成分的优化方法及技术,并实现了一个基本 APK…...
webScoket长连接人性化解读
今天我们来整理一下webScoket,首先 webScoket是HTML5提出的一个基于TCP的一个全双工可靠通讯协议,处在应用层。很多人喜欢说webScoket是一次连接,这是误区,其实他是基于TCP的只不过将三次握手与四次挥手进行隐藏,封装。…...
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账号,最好取一个有意义的名字,比如姓名全拼,昵称全拼,如果被占用,可以加上有意义的数字. 本文中假设用户名为 UNIT-wuji(也是我的博客名) 地址: https:/…...
【Linux详解】——共享内存
📖 前言:本期介绍共享内存。 目录 🕒 1. 共享内存的原理🕒 2. 共享内存的概念🕘 2.1 接口认识🕘 2.2 演示生成key的唯一性🕘 2.3 再谈key 🕒 3. 共享内存相关命令🕒 4. 利…...
Scarab:重新定义空洞骑士模组管理体验
Scarab:重新定义空洞骑士模组管理体验 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 在独立游戏模组管理领域,手动复制文件、解决版本冲突和跟踪更新的…...
LangChain详解:大模型应用开发框架(通俗理解+专业解析+Python实战)
LangChain详解:大模型应用开发框架(通俗理解专业解析Python实战) 摘要:随着大语言模型(LLM)的普及,单纯调用模型API已无法满足复杂业务需求——如何让大模型“记住”对话历史、“调用”外部工具…...
Guohua Diffusion 快速入门:三步完成星图GPU平台一键部署
Guohua Diffusion 快速入门:三步完成星图GPU平台一键部署 想试试AI绘画,但被复杂的安装和环境配置劝退?今天,咱们就来聊聊怎么用最简单的方式,在星图GPU平台上玩转Guohua Diffusion。整个过程,你只需要点三…...
HUNYUAN-MT赋能Agent智能体:构建具备多语言交互能力的AI助手
HUNYUAN-MT赋能Agent智能体:构建具备多语言交互能力的AI助手 想象一下,你正在开发一个面向全球用户的智能客服助手。一位法国用户用法语咨询产品问题,一位日本用户用日语询问订单状态,而你的核心业务逻辑和知识库大部分是中文的。…...
Anything to RealCharacters 2.5D转真人引擎:AI艺术展数字作品写实化呈现
Anything to RealCharacters 2.5D转真人引擎:AI艺术展数字作品写实化呈现 你是否曾想过,将那些精美的二次元插画、可爱的卡通头像,或者充满想象力的2.5D游戏角色,一键变成栩栩如生的真人照片?这听起来像是电影里的特效…...
网盘直链下载助手完整教程:如何轻松获取百度、阿里云盘等八大平台真实下载地址
网盘直链下载助手完整教程:如何轻松获取百度、阿里云盘等八大平台真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用…...
不用反向传播也能攻击AI模型?手把手教你用ZOO算法实现黑盒对抗攻击
零阶优化实战:无需反向传播的黑盒对抗攻击指南 当你在网络安全竞赛中遇到一个闭源的图像识别API,或是需要测试自家电商平台商品分类模型的鲁棒性时,传统基于梯度反向传播的白盒攻击方法立刻变得束手无策。这就是ZOO(Zeroth Order …...
SDL2项目实战:用Conan一键集成SDL_image库(附CMake配置避坑指南)
SDL2项目实战:用Conan一键集成SDL_image库(附CMake配置避坑指南) 在开发跨平台C游戏或多媒体应用时,处理多种图片格式是刚需。SDL2原生仅支持BMP格式,而现代项目往往需要JPEG、PNG甚至WebP等更高效的格式。SDL_image库…...
Maven项目实战:用Apache PDFBox 2.0.27实现PDF批量转PNG(附完整代码)
Maven项目实战:用Apache PDFBox 2.0.27实现PDF批量转PNG(附完整代码) 在Java开发者的日常工作中,PDF文档处理是一个高频需求场景。无论是电子合同归档、报表生成还是文档预览,将PDF转换为图片都是刚需功能。Apache PDF…...
腾讯音乐开源的SuperSonic到底强在哪?手把手教你配置专属数据分析Agent
腾讯音乐SuperSonic深度解析:如何打造智能数据问答Agent 当企业数据量呈指数级增长时,传统BI工具已经难以满足实时决策的需求。腾讯音乐开源的SuperSonic作为新一代AIBI平台,通过融合Chat BI与Headless BI两大范式,正在重新定义数…...
