当前位置:首页 > Web开发 > 正文

代理服务器没有此资源

2024-03-31 Web开发

始发掘金:《前端HTTP 缓存简单了解》 同步到博客园。

HTTP 缓存简单了解。文章整理了相关资料,记录了部分实践。便利大家轻松了解缓存。能回答上三个问题,HTTP缓存就算理解呢。能否缓存?缓存是否过期?协商缓存?

提要:

web缓存

缓存的措置惩罚惩罚

前端解决方案

总结

1. web缓存

Web缓存是可以自动生存常见文档副本的 HTTP 设备。当 Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是原始处事器中提取这个文档。《HTTP权威指南》

缓存是一种存储给定资源副本并在请求时将其供给回来的技术。

当Web缓存在其存储中具有请求的资源且能用时,它将拦截该请求并返回其副本,而不是从原始处事器从头下载。

关键字:缓存,原始处事器(孕育产生原始文档)

1.1 缓存类型

缓存的种类:浏览器缓存(本文讨论点),代办代理缓存,网关缓存。

以上种类 缓存事情的道理是一致的,只是缓存地址的位置差别,涉及面更宽广。

技术图片

这几种缓存,可以分为两大类:

专用缓存(私有缓存):私有缓存专用于单个用户。

共享缓存:多用户共享。

技术图片

图片源:HTTP caching

上图展示了:

没有缓存:没有缓存直接向处事器请求资源。

共享缓存:当用户Browser1请求资源,颠末缓存处事器,缓存处事器也没有资源,向原始处事器请求资源。得到资源后,缓存处事器缓存资源并返还数据给Browser1。当用户Browser2请求不异资源时,缓存处事器有资源,且能用,就直接返还数据给Browser2,不再向原始处事器倡议请求。

私有缓存:用户Browser1请求资源,向处事器请求资源。得到资源后,缓存在本地,供下一次请求同样资源时判定使用。用户Browser2需要同样的资源,只能向处事器请求资源,并缓存供下一次请求同样资源时判定使用。

1.2 缓存目的

缓存减少了冗余的数据传输,节省了你的网络用度。
缓存缓解了网络瓶颈的问题。不需要更多的带宽就能够更快地加载页面。
缓存降低了对原始处事器的要求。处事器可以更快地响应,制止过载的呈现。
缓存降低了距离时延,因为从较远的处所加载页面会更慢一些。

2. 缓存的措置惩罚惩罚

对付HTTP 缓存流程中涉及到的简单问题及相关首部字段。

技术图片

Http 响应的内容是否可缓存到客户端(能否缓存)。

客户端是否可直接从本地缓存中加载并展示,或者发送请求随处事端再验证(缓存是否过期)。

客户端将缓存标识发往处事端,处事端通过标识来判断客户真个缓存是否仍有效,或发送新的数据给客户端(协商缓存能否再用)。

2.1 相关的首部字段

2.1.1 数据能否缓存,相关字段

⑴ 默认存储

默认情况下,如果请求要领,请求标头字段和响应状态的要求表白响应是可缓存的,则该响应是可缓存的。

常见的HTTP缓存凡是仅限于缓存对GET的响应,并且可能会拒绝其他要领。 主缓存键由请求要领和方针URI构成(凡是仅使用URI,因为只有GET请求才是缓存方针)。

除非出格受cache-control指令约束,否则缓存系统可以始终将告成的响应存储为缓存条目,如果新鲜则可以不经验证就将其返回。如果新鲜也可以在告成验证后返回。

状态码为200、203、206、300、301或410的响应也可以由缓存存储,并用于答复后续请求。

具体参考

⑵ Cache-Control

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32555.html