当前位置:首页 > 人工智能

HTTP缓存是怎样的一种存在

发布时间:2019-05-08 18:05:55   编辑:it技术学习网   阅读次数:

HTTP缓存是一个什么样的存在
摘要:当发现所请求的资源已经被存储在Web缓存,它拦截请求并返回资源的副本,而不是重新下载的源服务器。关键词:高速缓存

\

现场重建

在一个特定的接口测试中,我们发现这样的情况:

产品功能需求是这样的:点击应用页面上的一个按钮,客户端发送一个URL请求到服务器。

然而,查尔斯捕捉发现,您可以发送到正常的请求,当你第一次点击该按钮,然后再多次不发送请求的点击。

什么?。是啊不科学!

究其原因调查

首先检查相关的代码,的确是一个进行点击操作会发送一个请求的时候,是没有问题的。但是,为什么那么不发送请求?

经过深入的高速缓存的初始原因的理解是http。

下面小编来了解知识的HTTP缓存,你就会明白是怎么回事 -

科学知识

1。HTTP缓存是一个什么样的存在

1)什么是缓存

我们平时说的缓存,通常被称为Web缓存,其中服务器和客户端之间存在,节约资源的副本,并使用技术的直接下一个请求副本。当发现所请求的资源已经被存储在Web缓存,它拦截请求并返回资源的副本,而不是重新下载的源服务器。

2)为什么要使用缓存技术

这是因为,通常通过获取网络内容的速度很慢成本高,一些响应需要对客户端和服务器,从而耽误了时间的浏览器可以使用和处理的内容之间多次往返,同时也增加了游客成本数据。通过缓存,资源的副本,大大缩短了时间,获得资源,可以减少网络带宽的消耗,减少延迟和网络拥塞,同时降低服务器压力,提高服务器性能。

3)HTTP缓存是怎么回事

Web缓存,大致可以分为以下几种类型的实现:

数据库的数据缓存; 服务器侧高速缓存(包括高速缓存代理服务器缓存和CDN); 浏览器缓存; Web应用程序层缓冲。

HTTP缓存是基于那种http协议的缓存Web浏览器缓存,它通常是缓存中最常见的类型。

2。如何HTTP缓存作品

在本节中,我们首先要了解高速缓存的工作流程HTTP请求的资源,那么该过程的细节解释,你会对如何HTTP缓存更好地理解。

1)的工作流程的http请求的资源

第一次在服务器资源请求,没有缓存文件,直接发送一个请求到服务器。过程如下:

\

第一请求流程图

当第二次及以后重新请求的服务器资源,一直是本地缓存,请求将过期,是否有资源更新和其他相关的判断来决定是否发送一个请求,或以确定哪些条件类型字段是一个请求与服务传递,作为判断的最终结果,我们决定返回以及是否返回响应国家资源。具体过程如下:

\

非流程图第一请求

以上是缓存请求资源的HTTP,HTTP高速缓存文件的缓存机制是由HTTP协议预先缓存控制的控制(或过期)和上次修改(或一个ETag)字段等的流程图。,以下各种领域和处理的处理的详细描述:

1)控制缓冲器相关联字段

附注设置页面缓存,缓存是语用,无缓存将不缓存。它HTTP1.0左字段,而当它超高速缓存控制同时存在,将被覆盖的高速缓存控制。过期定义缓存过期时间,这个时间是相对时间在服务器上,它也是HTTP1.0左外野。过期:周四,2018年8月30日8点十四分36秒GMT。缓存控制定义缓存过期时间为“过期时间是相对的在服务器和客户端上都不能保证时间的统一性”问题HTTP1.1新的协议,如果该消息也出现过期和Cache-Control,缓存控制占上风的地方。指令Cache-Control字段如下:无缓存需要注意的是,这并不意味着不进行缓存!! 它将被缓存,但每个提供的响应数据,高速缓冲存储器必须评估到所述服务器向所述客户端的响应的有效性; 无存储响应没有被缓存; 最大年龄设置存在的缓存时间,相对于在s的传输请求的时间。在缓冲时间,如果有这个资源的请求,浏览器不会发出HTTP请求,而是直接使用本地缓存文件。将Cache-Control:最大年龄= 604800。

2)控制字段协商缓存

上次修改/的If-Modified-SinceLast改性将此最后修改时间响应资源,例如最后修改时间:星期三,二零一六年十二月二十〇日5点01分10秒GMT; 的If-Modified-由于与的If-Modified-由于当第一服务器访问该资源请求,服务器检查的上次修改,如果上次修改时间早于或等于所述的If-Modified-由于响应304返回无身体,否则返回到资源200。ETag的/如果无 - MatchETag是一个响应报头字段,这是产生的内容的期间的散列串的实体,如由服务器生成的资源,如一个唯一的标识符:ETag的:“0q9QPk4kQr2st / XMvRW8yqEt2iw =”; 如果 - 无 - 匹配为条件式的第一个请求。Web服务器接收该请求报头中找到的如果 - 无 - 匹配与对应的奇偶校验串ETAG所请求的资源,如果匹配服务器200将与响应于该资源请求实体返回对齐,或者服务器不返回响应实体304下面所示的流程。如:如果无 - 匹配度:“eOM1rC2lomM4oUbYNn0QD / Y4WLg =”。

注:ETag的优先级高于上次修改,将占上风同时存在的ETag。

\

缓存谈判进程

学以致用

最后,回到文章情景分析的起点,即根据响应到期图中的请求资源的HTTP请求下面的字段标题信息已经三个小时缓冲时间,该消息也出现在缓存控制:最大年龄= 10800,所述本地高速缓存的资源3个小时,此时无论二者的同时,受到高速缓存控制。这也解释了为什么不迟发送请求(3小时内)再次单击该按钮。

\

本文链接:HTTP缓存是怎样的一种存在

友情链接: 心经结缘 大悲咒 大悲咒功德
网站地图
it技术学习网版权所有   苏ICP备18043316号