当前位置: 首页 > Web前端 > HTML5

ClientSideCache和ServerSideCache的区别

时间:2023-04-05 23:19:58 HTML5

CachemeoutsideCache是一种持久化机制,可以优化网页的加载时间,优化它使用的内存量。Cache的定义限于篇幅,本文重点介绍Web缓存。当您加载网站时,将保存图像、视频和html文档等网站数据。重新加载网站后,它不会再次调用数据库来获取该数据。它只是从内存中读取数据。缓存以容量换取速度,缓存通常临时存储数据的子集,而数据库的数据通常是完整且持久的。客户端缓存客户端缓存通常称为浏览器缓存,尽管客户端缓存是一个稍微宽泛的术语。其工作原理如下图所示:浏览器从服务器请求数据后,将其存储在浏览器创建的文件夹中。下次打开网页时,不会调用服务器获取数据,而是从浏览器缓存文件夹中获取数据。服务器端缓存服务器端缓存是一个类似的概念,但稍微复杂一些。一旦用户向网站发出请求,他们的数据就会存储在服务器上。下次用户发起请求时,直接从服务器上取保存的数据,而不是从数据库中取数据,节省了时间。这些缓存由站点管理员实现,充当浏览器和源服务器之间的中介。它们通常也基于HTTP缓存指令。远程缓存类似于服务器端缓存,但它也可以运行应用程序来序列化和反序列化数据。不同之处在于您控制远程服务器而不是其他人操作它。Web内容通常通过应用程序代码或使用可以利用内存中数据存储的应用程序框架来检索。Server-SidevsRemotevsClientSide的主要区别在于,网站的数据存储在本地的客户端缓存中,可以分发给服务器端缓存中的所有用户,而在远程端,数据是也经过处理。大多数设计良好的网站或应用程序将同时使用服务器端和客户端。为什么缓存?缓存Web内容有助于通过减少后端资源的负载和网络拥塞来提高网站的响应能力。-AWSDownside如果您尝试访问的网站已更新,您可能在清除缓存之前看不到更新。这可能发生在你身上,特别是如果你是一名网络开发人员并且你正在尝试更新你的网站设计。如果缓存存储在您的客户端,解决方案很简单。这适用于客户端缓存,如果服务器端缓存没有正确处理这种情况,可能会在服务器端缓存上返回错误。如果您使用远程缓存,它可以处理该错误并为您清除缓存并为您加载新请求。简而言之,客户端缓存:您的Web浏览器(Chrome、Firefox、Safari或您使用的任何浏览器)决定记住网页的外观,因此它不必要求服务器再次发送它。这通过消除几乎整个网络通信来节省时间(和带宽)。然而,如果服务器决定改变页面的外观,你就有麻烦了,因为浏览器对它认为页面应该是什么样子的“记忆”现在已经过时了,它会给你一个旧版本的页面而不是新页面。这就是为什么人们有时会告诉您“清除浏览器缓存”——这会迫使您的浏览器“忘记”页面的外观。这会强制它向服务器请求页面的新更新版本。服务器端缓存:负责生成网页(也就是将其放在一起)的服务器决定记住网页的样子,因此不必再次生成。这节省了时间(但不是带宽),因为现在服务器不必经历构建整个页面的麻烦-它可以重新发送浏览器上次请求它时发送的任何内容。但是,如果网页上的任何数据需要更改,服务器将被迫丢弃其对页面外观的“记忆”,并且需要重新生成页面。如果页面非常复杂并且需要花费大量时间来生成,则此缓存很有用。更多Jerry原创文章在这里:《王子熙》: