用于标识资源的唯一标识符 | ETag

ETag(Entity Tag)是一个由服务器生成的用于标识资源的唯一标识符。

ETag 在浏览器缓存中的作用是协商缓存的一部分。当浏览器发送请求时,会将上一次请求返回的 ETag 值通过 If-None-Match 请求头字段发送给服务器。服务器使用这个值与当前资源的 ETag 进行比较,以判断资源是否发生了变化。

如果服务器发现资源的 ETag 值与浏览器发送的匹配,并且资源没有发生变化,服务器会返回状态码 304 Not Modified,表示资源未修改。浏览器收到这个响应后,可以直接从缓存中获取资源,而无需重新下载。

ETag 能够精确地确定资源是否发生了变化,相对于 Last-Modified(最后修改时间)来说更加准确。如果资源的内容发生了任何改变,服务器会为该资源生成新的 ETag 值,而 Last-Modified 只能以秒级别的精度表示时间,可能无法捕捉到非常小的修改。

在大多数情况下,浏览器会使用 Cache-Control 和 ETag(或 Last-Modified)一起使用,以提供更精确和可靠的缓存控制。当 Cache-Control 的缓存过期策略失效时,浏览器会使用 ETag 和服务器进行协商,以便确定是否可以使用缓存的副本。如果服务器返回 304 Not Modified,浏览器就可以直接使用缓存,并避免重新下载资源。这样可以减少网络带宽的使用,并提高页面加载速度和性能。

https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=5f0bf65b3be04ac8a2beb28f857943a6

#前端未死#
全部评论

相关推荐

09-19 21:21
已编辑
福州大学 嵌入式工程师
可爱的牛油果在求佛:再给你说一点,之前我的简历像流水账,当时我在面试的时候,面试官说:“你简历上的都是在调包吗?有自己的改进吗?如果没有改进直接调包的话,我觉得没什么可深挖的”。当时给我整懵了。其实大部分确实是在调包,因为我确实就用到这些简单的技术,如果只是把技术要点写在简历上,那没什么好说的,没意思,没什么深挖的。但是调包与调包之间仍存在区别,那就是自己的思考,如果你不把自己的困难摆出来,人家觉得就是简单的调包,有啥难的。其实只有你自己知道这个项目的难点在哪,只有你自己知道为什么要用这个技术,为什么要调这个包,而你需要展示的,不是技术,而是这个“为什么”,这是关键。所以,当你的技术不是很硬核的时候,就要突出自己的思考,这时候“思考”是难点,而当你的简历很硬核,技术很复杂时,技术本身就是难点。
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务