当前位置: 首页 > 网络应用技术

一篇文章了解浏览器存储和缓存机制

时间:2023-03-09 01:06:57 网络应用技术

  曲奇饼

  cookie是HTTP协议的无状态协议。当请求服务器时,HTTP请求需要携带cookie来验证用户身份。服务器是由服务器生成的,并存储在客户端上以维护状态。

  通常Cookie由以下值组成:

  cookie有一些限制,可以设置到期时间,但是如果没有设置,则会在会话中处于一个水平。浏览器关闭后,它将消失。

  cookie具有以下优势:

  缺点如下:

  网络存储

  H5可以在本地存储用户浏览数据。以前使用cookie,但是网络存储更快,安全。可以存储大量数据而不会影响网站的性能。

  Web存储分为两种类型:SessionStorage和LocalStorage。

  SessionStorage

  SessionStorage将数据存储在会话中,并且当浏览器关闭时,它将消失。它具有以下特征:

  主要在以下场景中应用:

  localstorage

  LocalStorage一直在本地存在。ITSAPI提供以下操作方法:

  以下是Localstora的功能:

  通常在以下场景中使用:

  浏览器的缓存机制是缓存访问的资源,以便客户下次访问时,您可以直接访问缓存资源,从而减少服务器请求的数量并允许页面加载更快。

  并判断是否访问缓存是依靠HTTP的各种标题,例如以下内容:以下:下图:

  这些标头组合形成HTTP请求和响应,还支持浏览器缓存,但是此缓存方法有缺陷。

  首先,如果资源更新低于几秒钟,则无法使用缓存。由于最低的单元是最低的秒。

  其次,如果文件是由服务器动态生成的,则将始终生成此方法的更新时间。即使文件可能无法更改,它将自动更新,因此无法可用。

  强烈的放缓

  通常,服务器将通知浏览器的缓存时间。此信息在缓存控制中,并到期。浏览器是通过该判断是否到期的判断来判断的。如果时间未到期。直接从缓存中获取它。这是如此被称为“最强的最慢”。

  到期

  在http1.0.中,请使用到期字段来指示缓存的到期时间,即有效时间+服务器的时间。客户端,客户端和服务器时间不一致,浏览器将确定缓存故障,然后重新要求资源。

  缓存控制

  缓存控制是HTTP协议中缓存的响应头。它可以由以下值组成:

  协商缓存

  如果您不碰到强烈的缓存,也就是说,强烈的肿胀是无效的(可能没有存储或无填充的缓存控制),并且判断了协商缓存。

  Last-Modify&If-Modify-Since(HTTP1.0)

  当第一个请求请求资源时,服务器将返回资源的最后修改以更改资源。再次请求请求时,服务器将比较IF-Modify-Since和最后修改的字段。同样,这意味着资源未经修改并返回304状态代码。如果两个不同,则意味着资源已修改,因此返回数据和200个状态代码(无需发送请求)。

  但是,如果时间单元以秒为单位更新资源,则无法在一秒钟内进行多次修改识别上述方法。在同一时间,如果资源更新速度小于1ms,则无法生成新的最后一个修改时间。为避免这种情况,HTTP1.1:ETAG和IF-NONE匹配中出现了一组新的字段。

  ETAG和IF-NONE匹配(HTTP1.1)

  ETAG是http1.1.it的属性。它是生成并由服务器返回给客户端的,该属性高于最后模型。

  在http1.1中,当浏览器首次启动HTTP请求时,服务器返回到ETAG。当浏览器第二次启动相同的请求时,客户端将发送一个If-None键,其值为ETAG。服务器将比较浏览器发送的服务器的ETAG和ETAG。如果相同,则将IF-NONE匹配的值设置为false并返回304以指示浏览器缓存。如果有所不同,服务器将IF-NONE搭配的值设置为True,并返回200和新数据。

  可以通过加速来完成网页加载速度的加速度。在我们平稳访问的背后,浏览器存储和缓存机构是必不可少的。我希望本文可以帮助您提高对这种机制的理解。