当前位置:首页 » 文件管理 » 纯静态页面如何设置缓存

纯静态页面如何设置缓存

发布时间: 2023-03-21 13:11:32

① 如何解决网站静态页缓存问题

使用静态页缓存提升网站性能,变化很少的静态资源可以设置客户端缓存时间,减少请求。
如果一定要不要静态页缓存,可以设置页面不缓存静态页面,这个要根据实际的WEB应用服务进行设置了。

② 关于html缓存设置

通过HTTP的META设置expires和cache-control

指令不区分大小写,并且具有可选参数,可以用令牌或者带引号的字符串语法。多个指令以逗号分隔。

客户端可以在HTTP请求中使用的标准 Cache-Control 指令。

Cache-Control: max-stale[=<seconds>]
Cache-Control: min-fresh=<seconds>
Cache-control: no-cache
Cache-control: no-store
Cache-control: no-transform
Cache-control: only-if-cached

服务器可以在响应中使用的标准 Cache-Control 指令。

Cache-control: no-cache
Cache-control: no-store
Cache-control: no-transform
Cache-control: public
Cache-control: private
Cache-control: proxy-revalidate
Cache-Control: max-age=<seconds>
Cache-control: s-maxage=<seconds>

拓展缓存指令不是HTTP缓存标准的一部分,使用前请注意检查 兼容性 !

Cache-control: immutable
Cache-control: stale-while-revalidate=<seconds>
Cache-control: stale-if-error=<seconds>

public
表明响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存。

private
表明响应只能被单个用户缓存,不能作为共享缓存(即代理服务器不能缓存它)。

no-cache
强制所有缓存了该响应的缓存用户,在使用已存储的缓存数据前,发送带验证器的请求到原始服务器

only-if-cached
表明如果缓存存在,只使用缓存,无论原始服务器数据是否有更新

max-age=<seconds>
设置缓存存储的最大周期,超过这个时间缓存被认为过期(单位秒)。与Expires相反,时间是相对于请求的时间。

s-maxage=<seconds>
覆盖max-age 或者 Expires 头,但是仅适用于共享缓存(比如各个代理),并且私有缓存中它被忽略。

max-stale[=<seconds>]
表明客户端愿意接收一个已经过期的资源。 可选的设置一个时间(单位秒),表示响 应不能超过的过时时间。

min-fresh=<seconds>
表示客户端希望在指定的时间内获取最新的响应。

must-revalidate
缓存必须在使用之前验证旧资源的状态,并且不可使用过期资源。

proxy-revalidate
与must-revalidate作用相同,但它仅适用于共享缓存(例如代理),并被私有缓存忽略。

immutable
表示响应正文不会随时间而改变。资源(如果未过期)在服务器上不发生改变,因此客户端不应发送重新验证请求头(例如If-None-Match或If-Modified-Since)来检查更新,即使用户显式地刷新页面。在Firefox中,immutable只能被用在 https:// transactions.

发送如下指令可以关闭缓存。此外,可以参考Expires 和 Pragma 标题。

对于应用程序中不会改变的文件,你通常可以在发送响应头前添加积极缓存。这包括例如由应用程序提供的静态文件,例如图像,CSS文件和JavaScript文件。另请参阅Expires标题。

缓存主要两个策略 强制缓存 ,协商缓存
强制缓存就是设置本地资源html img js等等缓存多长时间 超过时间就去服务器端取。
协商缓存就是每次都询问服务器资源是否已经过期 没有过期就使用缓存 已经过期就从服务器上重新取。

缓存流程可以分三个阶段 本地缓存,协商缓存 ,缓存失败

现在的vue项目里都不是这样缓存的 我个人感觉这是在静态页面时的缓存办法
现在都是webpack打包时通过 hash chunkhash contenthash来决定缓存方式 主要就是在请求的文件名称后面加一个id 来判断文件是否已经更新。

③ 关于php如何实现静态缓存问题如下

楼主,你所说的这个的实现则是
+
根据文件来判断的,每个文件在生成的时候都有一个创建时间,
+
而在数据库的设计中,则是存在这一个修改时间,
+
也就是用数据库来存储和计算这两个值的差值或者是是否相同,
+
再来判断是否要重新生成实质性的HTML文件..
根据楼主的描述,大致的解决思路如上..
而有关
ob_start
的理解,则是:
+
ob_start
先将数据放入
ob
缓存
+
ob_flush
再将缓存数据输出到程序缓存中
+
ob_end_clean
清空缓存并且关闭缓存
+
程序输出
而在页面静态化中,缓存的方法有:
+
ob缓存
+
smarty
缓存
+
ThinkPHP
缓存
+
模版缓存
静态化又分为:
+
实质的静态化
+
伪静态化
这是本人的理解,楼主可以在此基础上加强,形成自己的理解..

④ apache服务器下的静态页面如何缓存

Apache有缓存模块的。 例如:

LoadMole mem_cache_mole moles/mod_mem_cache.so
<IfMole mod_cache.c>
<IfMole mod_mem_cache.c>
CacheEnable mem /
# cache 40MB
MCacheSize 80960
MCacheMaxObjectCount 21000
MCacheMaxStreamingBuffer 65536
MCacheMinObjectSize 1
MCacheMaxObjectSize 74000
###GDSF 基于缓存命中率和文档大小计算优先级。在必要时,优先级最低的文档被移出缓存
##MCacheRemovalAlgorithm GDSF
#LRU 指定最长时间没有用到的对象将在必要的时候移出缓存
MCacheRemovalAlgorithm LRU
</IfMole>

⑤ 如何设置静态内容缓存时间

一、打开IIS,鼠标右键你要设置的网站,然后“属性”

(第一步操作)

二、选择“HTTP头”选项卡,勾选“启用内容过期”,选中“立即过期”,然后“确定”。

(第二步操作)

解释一下这一步的效果。设置此网站所有内容都不进行缓存,也就是每次访问都全新加载。

三、展开网站,找到要进行缓存的目录。(一般是存放上传文件、图片、JS等文件的目录)然后“鼠标右键”----“属性”

(第三步操作)

四、选择“HTTP头”选项卡,勾选“启用内容过期”,选中“此时间段后过期”,设置过期时间,然后“确定”

(第四步操作)

OK,这时候已经设置成功了。

⑥ 如何设置静态网站静态内容缓存时间

网络一下,静态内容缓存时间代码,然后加上就行了

热点内容
c语言打印正方形 发布:2024-05-05 16:09:20 浏览:642
编程用箭头 发布:2024-05-05 15:54:21 浏览:792
步骤条源码 发布:2024-05-05 15:35:55 浏览:845
安卓拍光遇视频如何高清 发布:2024-05-05 15:23:20 浏览:933
linuxo文件 发布:2024-05-05 15:19:12 浏览:944
手机服务器地址或者域名 发布:2024-05-05 15:19:09 浏览:373
我的世界服务器版如何登录 发布:2024-05-05 15:17:28 浏览:794
綦江dns服务器地址 发布:2024-05-05 15:04:11 浏览:556
山东省日照市监控服务器地址 发布:2024-05-05 15:03:59 浏览:342
java提升教程 发布:2024-05-05 15:00:51 浏览:144