首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AEM Dispatcher (4.3.3)总是返回200而不是304 (Apache 2.4.6)

AEM Dispatcher是Adobe Experience Manager(AEM)的一个组件,用于缓存和分发AEM网站的静态内容。它是一个基于Apache的反向代理服务器,用于提高网站的性能和安全性。

针对您提到的问题,AEM Dispatcher (4.3.3)总是返回200而不是304 (Apache 2.4.6),这可能是由于缓存配置不正确或者服务器配置问题导致的。下面是一些可能的原因和解决方法:

  1. 缓存配置问题:请确保AEM Dispatcher的缓存配置正确。您可以检查Dispatcher配置文件(通常是dispatcher.any)中的缓存规则和过期时间设置。确保正确配置了缓存规则,以便在内容没有更改时返回304状态码。
  2. 服务器配置问题:检查Apache服务器的配置文件,确保启用了ETag和Last-Modified响应头。这些响应头用于判断内容是否已更改,从而返回适当的状态码。您可以通过在Apache配置文件中添加以下指令来启用这些响应头:
  3. 服务器配置问题:检查Apache服务器的配置文件,确保启用了ETag和Last-Modified响应头。这些响应头用于判断内容是否已更改,从而返回适当的状态码。您可以通过在Apache配置文件中添加以下指令来启用这些响应头:
  4. 缓存刷新机制:如果您在AEM中更新了内容,但Dispatcher仍然返回200而不是304,可能是由于缓存刷新机制不正确导致的。您可以尝试手动刷新Dispatcher缓存,或者检查缓存刷新策略是否正确配置。

总结起来,要解决AEM Dispatcher总是返回200而不是304的问题,您可以检查缓存配置、服务器配置和缓存刷新机制。确保这些配置正确,并根据需要进行调整。如果问题仍然存在,您可以查阅AEM Dispatcher和Apache的官方文档,或者咨询Adobe的技术支持团队获取更详细的帮助。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云CDN:https://cloud.tencent.com/product/cdn
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云内容分发网络(CDN):https://cloud.tencent.com/product/cdn
  • 腾讯云云安全中心:https://cloud.tencent.com/product/ssc
  • 腾讯云云监控(Cloud Monitor):https://cloud.tencent.com/product/monitor
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SSH框架之旅-struts2(1)

建议下载完整版的包,我下载的是 struts-2.3.34-all.zip,解压后,lib 文件下有我们要使用的 jar 包,但是里面 100 jar 包并不是都必须的,可以在 apps 文件下,找到一个空白的...DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org...现在每个请求都要经过前端控制器过滤,在转交给相应的 action 处理,前端控制器也是有过滤器实现的。...4.3.3 action 类的编写方式 action 类的编写方式共有三种: 创建普通类 action 类是可以布集成任何类,也不实现任何接口,但是这种方式很少使用。...4.3.3 action 类的访问方法 action 类的访问方法也有三种: 第一种 使用 action 标签的 method 属性,在这个属性中写上执行的 action 方法。

41130

浅谈ETag

状态码200 ====第二次请求=== 1.客户端发起HTTP GET请求一个文件,注意这个时候客户端同时发送一个If-None-Match头,这个头的内容就是我们第一次请求时服务器返回的Etag:2e681a...-6-5d044840 2.服务器判断发送过来的Etag和计算出来的Etag匹配,因此If-None-Match为False,不返回200返回304,客户端继续使用本地缓存; 流程很简单,问题是,如果服务器又设置了...答案是同时使用,也就是说在完全匹配If-Modified-Since和If-None-Match即检查完修改时间和Etag之后,服务器才能返回304....(不要陷入到底使用谁的问题怪圈) 我们来看Apache中的Etag实现。 1.Apache首先判断是不是弱Etag,这个留在下面讲。...如果不是,进入第二种情况: 强Etag根据配置文件中的配置来设置Etag值,默认的Apache的FileEtag设置为: FileEtag INode Mtime Size 也就是根据这三个属性来生成Etag

1.2K20

ETag使用效果对比及经验分享

sitemap是解决网站收录至关重要的途径之一,通常sitemap的更新都不是很及时,并且体量都相对较大,此时也消耗了相应的网站流量及带宽。...ETag可以用来标示网页是否发生了变化,如果没有变化返回304状态码,就不用再重新传输整个网页了。...这个记号告诉客户端,当前网页在上次请求之后是否有发生变化,当发生变化时,ETag的值重新计算,并返回200状态码。如果没有变化,返回304状态码。从而不会重新加载整个页面信息。...第一次访问200状态码,有ETag的一行文本,再次访问该页面时,状态码为304,ETag的值不变。至此,我们就可以确定ETag配置成功。...开启gzip时,可能与etag出现冲突,用浏览器多次请求此网站的静态元素,如果只返回200,不返回304,证明存在冲突,请去步骤4;没有冲突去步骤2。

2.1K90

网页性能优化浅谈与实践

,否则直接从缓存中取, 3.服务器收到请求后,判断文件是否被修改过,若是则直接返回200,否则返回304并且浏览器将从缓存中获取文件。...4.若同步刷新页面,则浏览器并不会先判断max-age,而是直接发送请求,服务器接收到请求后,判断文件是否有变化,若有则返回200,若没有则返回304 WeiyiGeek....如果你的缓存命中率很低,访问量很大的话,可以看下是不是设置了private,no-cache这类的值。 如果定义了max-age,可以不用再定义public,它们的意义是一样的。...304状态码,不返回资源;如果不一致则返回200和修改后的资源,并带上新的时间。...Tips : If-None-Match和If-Match的区别是,前者告诉服务器如果一致返回状态码304,不一致则返回资源,后者告诉服务器如果不一致,返回状态码412 ---- Pragma 描述:

57720

web浏览器缓存机制_网站利用浏览器缓存

浏览器缓存机制之一(经典缓存) 因为在接手的项目中用到过比较新的HTML5应用缓存,也用到了经典的缓存如设置max-age,Etag之类,之前一直就是在用着没有去深究其中原理。...Cache-Control(设置max-age指定文档处于新鲜期的秒数),Pragma(Pragma主要用于HTTP1.0,HTTP1.1用Cache-Control),Expires(不推荐,因为它指定的是过期的绝对日期不是相对秒数...这样下次请求的时候会带上INM以及IMS,如果文档内容没有修改,那么返回304 Not Modified,然后就可以从缓存中取之前缓存的文件了;如果文档从那个时间点后修改过了,那么返回200和文档的新内容...Etag:web服务器响应请求时,返回Etag头部用来告知浏览器该文档在服务器的唯一标示。apache中Etag是对文件的Inode,大小以及最后修改时间mtime进行hash后得到。...web服务器会比对Etag值并决定返回304还是200.

87320

浏览器缓存知识小结及应用

,但是不会返回这个资源的数据,而是告诉客户端可以直接从缓存中加载这个资源,于是浏览器就又会从自己的缓存中去加载这个资源; 3)强缓存与协商缓存的共同点是:如果命中,都是从客户端缓存中加载资源,不是从服务器加载资源数据...强缓存的原理 当浏览器对某个资源的请求命中了强缓存时,返回的http状态为200,在chrome的开发者工具的network里面size会显示为from cache,比如京东的首页里就有很多静态资源配置了强缓存...2)浏览器在接收到这个资源后,会把这个资源连同所有response header一起缓存下来(所以缓存命中的请求返回的header并不是来自服务器,而是来自之前缓存的header); 3)浏览器再请求这个资源时...查看单个请求的Response Header,也能看到304的状态码和Not Modified的字符串,只要看到这个就可说明这个资源是命中了协商缓存,然后从客户端缓存中加载的,不是服务器最新的资源:...,这是服务器返回304时的response header: ?

67930

浏览器缓存机制浅析

核心就是把缓存的内容保存在了本地,不用每次都向服务端发送相同的请求,设想下每次都打开相同的页面,而在第一次打开的同时,将下载的js、css、图片等“保存”在了本地,之后的请求每次都在本地读取,效率是不是高了很多...将If-Modified-Since的日期和服务端该文件的最后修改日期对比,如果相同,则响应HTTP304,从缓存读数据;如果不相同文件更新了,HTTP200返回数据,同时通过响应头更新last-Modified...实际上ETag并不是文件的版本号,而是一串可以代表该文件唯一的字符串(Apache中,ETag的值,默认是对文件的索引节(INode),大小(Size)和最后修改时间(MTime)进行Hash后得到的。...304还是200当用户使用Ctrl+F5进行强制刷新的时候,只是所有的缓存机制都将失效,重新从服务器拉去资源。   ...更多可以参考浏览器缓存机制 总结   盗图浏览器缓存机制,两张图很清晰 参考 再记:浏览器缓存200(from cache)和304小结 【Web缓存机制系列】2 – Web浏览器的缓存机制 浏览器缓存机制

46810

强缓存和协商缓存

六月总是如此的多雨~ 之前对强缓存和协商缓存一直很模糊,今天再仔细学一下。 强缓存 — 强缓存,又称本地缓存。顾名思义,就是指浏览器不会发出请求,直接从缓存中获取。...如果还是上次的一样的时间,那么说明数据没有更新,服务端返回304,浏览器直接从缓存中获取就行了 如果不是上次不是上次的时间了,那么就返回数据,同时返回Last-Modify ETag/If-None-Match...判断过程同上,不同的是当服务器返回304时,由于ETag重新生成过,response header中还是会将ETag返回,即使和原来的是一样的。...强缓存和协商缓存区别 — 缓存类型 获取资源形式 状态码 发送请求到服务器 强缓存 从缓存取 200(from cache) 否,直接从缓存取 协商缓存 从缓存取 304(Not Modified) 是...如果命中,则返回304,让浏览器直接从返回中取,否则返回新内容 用户行为对缓存的影响 — ?

1.1K10

浅谈 URL 解析与鉴权中的陷阱

Filter 中的鉴权,大部分情况下也是 URL 粒度的鉴权,毕竟在一个网站中总是会有无需认证的前台界面(如登录界面),以及需要认证的后台服务(如管理后台)。...之所以选择 Tomcat9 不是 Tomcat10 是因为目前其存量应用相对较多(听说)。 CoyoAdaptor AdminFilter 是我自己写的一个 Filter,这里先无需在意。...鉴权案例 前面提到过,为了降低代码的耦合性,鉴权一般放到 Filter 中实现不是在 Servlet 中实现。...但是其实仔细看一下会发现还是有一些问题,比如: uriDecode 中可能会失败,导致根本没解码成功返回原始的路径; URI 解码之后,路径可能会存在大写,如果是 WIndows 中请求 JSP 等文件可以正确路由...因此,更为科学的方案是使用知名的、经过检验的鉴权框架,不是尝试自己处理。

49960

Web缓存 - HTTP协议缓存

Web 缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内容(例如html页面、 图片和文件)(统称为副本)另存一份;然后,如果下一个请求是相同的 URL,则直接请求保存的副本,不是再次麻烦源服务器...注意:时间是格林威治时间(GMT),不是本地时间。...当服务器判断该缓存已经失效,那么就会返回新数据,HTTP 状态码为 200; 当浏览器判断该缓存还未失效,那么就会返回 HTTP 状态码为 304 (无需包体,节省流量),告知浏览器继续使用缓存。...那么通过哪些 HTTP 头信息字段来判断是否返回 200 还是 304 呢?...web 服务器收到请求后发现有 If-None-Match 则与被请求资源的相应校验串进行比对,决定返回 200304

96720
领券