页面缓存有3种:客户端缓存、代理缓存 proxy cache、服务器(或反向代理缓存)gateway cache。本文只介绍客户端缓存。客户端从服务器请求数据经历如下基本步骤:
1、如果请求命中本地缓存(根据完整URL)则从本地缓存中获取一个对应资源的"copy";
2、检查这个"copy"是否fresh,是则直接返回,否则继续向服务器转发请求。
3、服务器接收到请求,然后判断资源是否变更,是则返回新内容,否则返回304,未变更。
4、客户端更新本地缓存。
以下介绍html页面(包括jsp、asp等)中,缓存标记的意义。因为这些缓存标记是由浏览器识别的,而每个浏览器识别的缓存标记略有不同,所以有些标记通用性不够。
- html的meta是一种缓存注解,但要解析html才能知道,效果不是很好,支持的浏览器也有限。
- Pragma因为标准文档没有明确的描述,所有有的地方不能正常工作
-
Expires(http头部)是应用最广的缓存标识。但是它要设置过期时间(Date类型),比较不方便。
可以用response.setDateHeader().另外是需要客户端和服务器时间一致。
- Cache-Control是http1.1定义的一个http头部,用于弥补Expires的不足。同时出现时优先级比Expires高。no-cache是跳过步骤2,所以也可能使用缓存;而no-store才是真正不用缓存,即不存在copy。
must-revalidate,max-age=0作用与no-cache类似。
相关推荐
- 页面缓存:在Web应用中,通过缓存整个HTML页面来减少服务器处理和网络传输的成本。 5. 页面缓存实现: - 使用Spring MVC的`@Cacheable`注解在Controller层的方法上,将生成的HTML页面缓存起来。 - 通过模板...
在PHP开发中,为了提高网站性能,我们常常会利用缓存技术来生成静态HTML页面,减少服务器处理动态请求的负担。这里的"php缓存生成html类"是指通过编写PHP类来实现这一功能。这个类通常包含一系列方法,用于捕获PHP...
页面输出缓存是ASP.NET中常用的一种优化手段,它将完全生成的HTML页面保存在缓存中,以便后续相同请求可以直接返回,而无需重新执行页面生命周期。页面局部缓存允许开发者只缓存页面的一部分,比如一个控件或区段,...
页面输出缓存将生成的HTML页面保存在内存中,对于相同的请求,可以直接返回缓存的页面,无需重新执行服务器端的代码。数据缓存则用于存储业务逻辑处理后的数据,例如数据库查询结果,这样下次需要相同数据时,可以...
在.NET开发中,网站性能优化是一项关键任务,其中图片缓存是常见的策略之一。本实例源码主要展示了如何在.NET站点中实现图片的缓存,从而提高网站的响应速度和用户体验。下面我们将深入探讨这个话题。 首先,了解...
在ASP.NET中,缓存主要分为两种类型:页面级缓存和个人用户级缓存。页面级缓存(例如HttpCache)是将整个页面内容存储在服务器端,当相同请求再次到来时,直接从缓存中取出,避免了重复生成页面的开销。个人用户级...
PHP页面缓存是一种提高网站性能的技术,通过存储和重用已生成的HTML页面,减少对服务器资源的消耗,特别是数据库查询。本篇文章总结了PHP页面缓存的主要方法,重点介绍了如何利用`ob`系列函数实现简单的页面缓存,并...
1. **减少网络带宽消耗**:通过缓存重复使用的资源(如HTML页面、图片、JavaScript等),可以避免不必要的网络传输。 2. **降低服务器压力**:当资源被缓存后,不再需要频繁地从服务器获取同样的内容,从而减少了...
在网页开发中,浏览器缓存机制是为了优化加载速度,但是有时会导致问题,比如服务器端更新的内容无法及时反映到客户端。为了防止这种情况,可以通过设置HTTP响应头来禁止浏览器缓存当前页面。以下是三种常用的响应头...
在IT行业中,网络数据的获取和处理是至关重要的部分,特别是在网页抓取、数据分析和自动化测试等领域。"取URL本地缓存地址"这个主题聚焦于如何获取一个URL在本地计算机上的缓存副本路径。理解这一过程有助于我们更...
浏览器在首次加载设置了manifest属性的HTML页面时,会根据manifest文件的内容下载并存储指定的资源。之后,每当用户再次访问该页面时,浏览器会检查manifest文件是否更新,如果有变化,会下载新的资源并更新本地缓存...
在IT领域,分页控件是一种常见的用户界面元素,它被广泛应用于网页和应用程序中,以帮助用户在大量数据中进行导航。"可缓存的分页控件"是一个特定类型的分页组件,其设计目的是优化性能,通过缓存数据来减少对数据库...
1. **HTML基础结构**:HTML(超文本标记语言)是网页内容的基础,通过定义不同的标签来构建网页的骨架。在大屏展示页面中,HTML会包含标题、段落、图像、表格等元素,以便呈现各种类型的数据。 2. **CSS样式设计**...
HTML5是超文本标记语言HTML的第五个版本,它引入了许多新特性,使得Web开发者可以创建更丰富、更具交互性的网页。在描述中提到的“H5前端技术”,实际上是指HTML5、CSS3和JavaScript这三者组成的前端开发技术栈,...
Java 缓存机制是提高应用程序性能的关键技术之一,它允许程序将经常访问的数据存储在内存中,以便快速访问,减少对硬盘或数据库的依赖。在Java中,缓存机制可以分为多种实现方式,包括基于注解的声明式缓存和对Cache...
HTML静态网页项目是一种基于HTML(超文本标记语言)和JavaScript技术构建的网页设计项目,它不依赖服务器端的编程语言,如PHP、Java或ASP.NET等,而是通过编写纯HTML和JavaScript代码来实现页面的布局、内容展示以及...
1. **HTML5概述**:HTML5是超文本标记语言的一种新版本,旨在简化网页开发过程,增强网页的表现力与交互性。它引入了许多新的元素和属性,使得开发者能够更容易地创建复杂的应用程序。 2. **CSS3应用**:CSS3是层叠...
关于Vue页面级缓存解决方案feb-alive的讨论,我们需要先理解一些关键的概念和背景知识。 Vue.js 是一个流行的JavaScript框架,用于构建交互式的前端界面。在Vue中,`<keep-alive>`是一个内置的组件,可以缓存不活动...
标题中的"IE缓存.e.rar"表明这是一个与Internet Explorer(IE)浏览器的缓存相关的压缩文件,其中可能包含了用户在浏览网页时留下的各种数据。IE缓存是浏览器用来存储网页资源的地方,以便于快速加载曾经访问过的...
HTML5作为现代网页开发的标准,提供了许多增强用户体验的新特性,如本地存储、多媒体支持、离线缓存等,使得创建交互式和动态的图片编辑界面成为可能。 首先,我们来深入了解一下HTML5。HTML5(超文本标记语言第五...