首页 后端开发 php教程 求教cache-control头的统制(影响了自己写的缓存功能了)

求教cache-control头的统制(影响了自己写的缓存功能了)

Jun 13, 2016 pm 12:26 PM
cache control

求教cache-control头的控制(影响了自己写的缓存功能了)
自己做了一个php控制的缓存,依靠etag和文件缓存来处理
如果浏览器发送了etag,则进行对比,etag一致,直接发送304,etag不一致,如果有文件缓存,则直接读取文件缓存,并发送当前服务器缓存的etag
(文件缓存和etag的更新在其他地方处理)

现在突然发现有响应没有返回304,一查,发现这个地址的服务器http响应头返回了cache-control:no-cache
我清空服务器的缓存后看,第一次响应的时候服务器就自动发送了一个no-cache头,(我的etag也发送了出去的),结果就是无论服务器端有没有缓存,浏览器都不会把etag添加到自己的请求头里面去,服务器端处理的时候没有收到etag,就当做是第一次请求,然后又重新读取文件缓存,又重新发送etag……(响应200)

大致是这么回事,但是这样就失去了我想用304来直接缓存的效果了。

看了一下区别,正常的数据,大概10KB,运行一直正常(没有缓存初次请求130ms,有缓存初次请求90ms,之后16ms或以下)
而没有发送304的这个(一直发送no-cache)的这个,数据只有304B,(但是就算不加缓存模块,因为服务器计算的原因,也要花90ms左右),
怀疑是不是因为数据返回不一致的原因而导致的,将这个304B的数据扩增到12KB,还是发送no-cache头,增加到20kb,也是一样的。

然后懵了……不知道怎么回事了。

(天地良心,代码全部是我写的,除了一个header(etag)外绝对没有发送其他的etag了)
------解决思路----------------------
原因是什么?
为什么会一直发送no-cache呢?估计是服务器设置了吧。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
入职后,我才明白什么叫Cache 入职后,我才明白什么叫Cache Jul 31, 2023 pm 04:03 PM

事情其实是这样的,当时领导交给我一个perf硬件性能监视的任务,在使用perf的过程中,输入命令perf list,我看到了以下信息:我的任务就要让这些cache事件能够正常计数,但关键是,我根本不知道这些misses、loads是什么意思。

使用cache可以提高计算机运行速度这是因为什么 使用cache可以提高计算机运行速度这是因为什么 Dec 09, 2020 am 11:28 AM

使用cache可以提高计算机运行速度这是因为Cache缩短了CPU的等待时间。Cache是位于CPU和主存储器DRAM之间,规模较小,但速度很高的存储器。Cache的功能是提高CPU数据输入输出的速率;Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善。

cache、rom、ram的特点是什么 cache、rom、ram的特点是什么 Aug 26, 2022 pm 04:05 PM

cache的特点:在CPU与主存储器之间设置的一个一级或两级高速小容量存储器,其信息是随着计算机的断电自然丢失。ROM的特点:只能从存储器中读数据,而不能往里写信息,计算机断电后数据仍然存在。ram的特点:既可以从存储器中读数据,也可以往存储器中写信息;用于存放运行程序所需的命令、程序和数据等;计算机断电后信息自然丢失。

SpringBoot项目中怎么使用缓存Cache SpringBoot项目中怎么使用缓存Cache May 16, 2023 pm 02:34 PM

前言缓存可以通过将经常访问的数据存储在内存中,减少底层数据源如数据库的压力,从而有效提高系统的性能和稳定性。我想大家的项目中或多或少都有使用过,我们项目也不例外,但是最近在review公司的代码的时候写的很蠢且low,大致写法如下:publicUsergetById(Stringid){Useruser=cache.getUser();if(user!=null){returnuser;}//从数据库获取user=loadFromDB(id);cahce.put(id,user);returnu

nginx反向代理缓存教程。 nginx反向代理缓存教程。 Feb 18, 2024 pm 04:48 PM

以下是nginx反向代理缓存的教程:安装nginx:sudoaptupdatesudoaptinstallnginx配置反向代理:打开nginx配置文件:sudonano/etc/nginx/nginx.conf在http块中添加以下配置来启用缓存:http{...proxy_cache_path/var/cache/nginxlevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;proxy_cache

cache是什么存储器? cache是什么存储器? Nov 25, 2022 am 11:48 AM

cache叫做高速缓冲存储器,是介于中央处理器和主存储器之间的高速小容量存储器,一般由高速SRAM构成;这种局部存储器是面向CPU的,引入它是为减小或消除CPU与内存之间的速度差异对系统性能带来的影响。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善。

Nginx缓存Cache的配置方案及相关内存占用问题怎么解决 Nginx缓存Cache的配置方案及相关内存占用问题怎么解决 May 23, 2023 pm 02:01 PM

nginx缓存cache的5种方案 1、传统缓存之一(404)  这个办法是把nginx的404错误定向到后端,然后用proxy_store把后端返回的页面保存。  配置:  location/{  root/home/html/;#主目录  expires1d;#网页的过期时间  error_page404=200/fetch$request_uri;#404定向到/fetch目录下  }  location/fetch/{#404定向到这里  internal;#指明这个目录不能在外部直接访

基于Spring Cache如何实现Caffeine+Redis二级缓存 基于Spring Cache如何实现Caffeine+Redis二级缓存 Jun 01, 2023 am 10:13 AM

具体如下:一、聊聊什么是硬编码使用缓存?在学习SpringCache之前,笔者经常会硬编码的方式使用缓存。我们来举个实际中的例子,为了提升用户信息的查询效率,我们对用户信息使用了缓存,示例代码如下:@AutowireprivateUserMapperuserMapper;@AutowireprivateRedisCacheredisCache;//查询用户publicUsergetUserById(LonguserId){//定义缓存keyStringcacheKey="userId_

See all articles