<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ArcGIS Server site: poor cache efficiency due to different &amp;quot;etag&amp;quot; header sent according to machine in ArcGIS Enterprise Questions</title>
    <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672891#M43590</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;When refreshing my web application, I was surprised not to only hit '&lt;SPAN&gt;304 Not Modified' responses when querying my ArcGIS Server services for the layer properties with the following URL:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank"&gt;https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;What I noticed is that if you query your ArcGIS Server VM individually:&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank"&gt;https://gisVM01.company.com:6443/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank"&gt;https://gisVM02.company.com:6443/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and compare the responses, they are identical (to notepad at least) but they both have a different "Etag" header.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NicolasGIS_0-1765724844792.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/145449i6CA3D66B129BFEA9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NicolasGIS_0-1765724844792.png" alt="NicolasGIS_0-1765724844792.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;As a consequence, cache cannot be leverage.&lt;/P&gt;&lt;P&gt;It looks like ArcGIS Server machine is creating the Etag header by taking into account specific properties to the VM. As I am hitting my servers in a round robin way behind a load balancer, I always have 50% layers responses with 304 Not modified and 200.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you observe the same phenomena ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Sun, 14 Dec 2025 15:12:07 GMT</pubDate>
    <dc:creator>NicolasGIS</dc:creator>
    <dc:date>2025-12-14T15:12:07Z</dc:date>
    <item>
      <title>ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672891#M43590</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;When refreshing my web application, I was surprised not to only hit '&lt;SPAN&gt;304 Not Modified' responses when querying my ArcGIS Server services for the layer properties with the following URL:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank"&gt;https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;What I noticed is that if you query your ArcGIS Server VM individually:&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank"&gt;https://gisVM01.company.com:6443/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank"&gt;https://gisVM02.company.com:6443/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and compare the responses, they are identical (to notepad at least) but they both have a different "Etag" header.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NicolasGIS_0-1765724844792.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/145449i6CA3D66B129BFEA9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NicolasGIS_0-1765724844792.png" alt="NicolasGIS_0-1765724844792.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;As a consequence, cache cannot be leverage.&lt;/P&gt;&lt;P&gt;It looks like ArcGIS Server machine is creating the Etag header by taking into account specific properties to the VM. As I am hitting my servers in a round robin way behind a load balancer, I always have 50% layers responses with 304 Not modified and 200.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you observe the same phenomena ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Sun, 14 Dec 2025 15:12:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672891#M43590</guid>
      <dc:creator>NicolasGIS</dc:creator>
      <dc:date>2025-12-14T15:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672900#M43591</link>
      <description>&lt;P&gt;The way you worded your question, it makes me believe you are not using ArcGIS Web Adaptors, is that correct?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 14 Dec 2025 20:41:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672900#M43591</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2025-12-14T20:41:50Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672901#M43592</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;No, I am using webadaptor on each VM and there is a front load balancer.&lt;/P&gt;&lt;P&gt;Don’t think the issue is related to WebAdaptor as you can replicate when by passing it it.&lt;/P&gt;&lt;P&gt;Hope it is clearer&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 14 Dec 2025 20:45:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1672901#M43592</guid>
      <dc:creator>NicolasGIS</dc:creator>
      <dc:date>2025-12-14T20:45:34Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673774#M43604</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/408959"&gt;@NicolasGIS&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Yes, as per my understanding, this is expected behavior in a multi-machine ArcGIS Server site.&lt;/P&gt;&lt;P&gt;How ArcGIS Server uses ETags&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;ArcGIS Server generates &lt;STRONG&gt;ETag&lt;/STRONG&gt; headers per machine.&lt;/LI&gt;&lt;LI&gt;Even when the REST response payload is identical, different machines return different ETags.&lt;/LI&gt;&lt;LI&gt;In a load-balanced setup, this leads to alternating &lt;STRONG&gt;200&lt;/STRONG&gt; and &lt;STRONG&gt;304&lt;/STRONG&gt; responses.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;When accessing services through the &lt;STRONG&gt;Web Adaptor&lt;/STRONG&gt;, this is also seems to be &lt;STRONG&gt;by design&lt;/STRONG&gt;. The Web Adaptor distributes requests in a round-robin manner across ArcGIS Server machines. If a request is routed to the same machine where the cached response is still valid and the ETag has not expired, the server returns &lt;STRONG&gt;304 Not Modified&lt;/STRONG&gt;. If it is routed to a different machine, the ETag does not match and a fresh &lt;STRONG&gt;200&lt;/STRONG&gt; response is returned.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;When a request is repeated and the maximum age of the cache has not expired, the browser uses the cached response without sending the request to the server. &lt;STRONG&gt;If the maximum age has expired, the browser must send the request to the server and set an IF-NONE-MATCH header with an associated ETag value corresponding to the response in its cache.&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;ArcGIS Server&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&lt;STRONG&gt;&amp;nbsp;evaluates the request and uses the ETag value to determine if the response has changed. If the response from the server is different than the copy on the browser, the server sends a new response to the browser.&lt;/STRONG&gt; If the response is identical to the copy on the browser, the server alerts the browser to continue to use the response in its cache. (Quoted from Document)&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;How to influence caching behavior&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Rather than relying on ETags, Esri recommends controlling client-side caching using the &lt;STRONG&gt;cacheControlMaxAge&lt;/STRONG&gt; property.&lt;/LI&gt;&lt;LI&gt;This defines how long (in seconds) a response can be cached before revalidation, providing predictable behavior in load-balanced environments.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;It’s best to test different &lt;STRONG&gt;cacheControlMaxAge&lt;/STRONG&gt; values to determine what works best for your usage patterns.&lt;/P&gt;&lt;P&gt;For more details, see the official ArcGIS Enterprise documentation on setting up caches for client consumption:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://enterprise.arcgis.com/en/server/latest/publish-services/linux/setup-caches-for-client-consumption.htm#ESRI_SECTION1_C8C2AA1672F34194817DD3BC793F52F5:~:text=a%20map%20service.-,Enable%20clients%20to%20cache%20locally,-When%20displaying%20cached" target="_blank" rel="noopener"&gt;https://enterprise.arcgis.com/en/server/latest/publish-services/linux/setup-caches-for-client-consumption.htm#ESRI_SECTION1_C8C2AA1672F34194817DD3BC793F52F5:~:text=a%20map%20service.-,Enable%20clients%20to%20cache%20locally,-When%20displaying%20cached&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;cacheControlMaxAge property details :&amp;nbsp;&lt;A href="https://enterprise.arcgis.com/en/server/latest/publish-services/linux/setup-caches-for-client-consumption.htm#ESRI_SECTION1_C8C2AA1672F34194817DD3BC793F52F5:~:text=Define%20the-,cacheControlMaxAge%20property,-When%20clients%20send" target="_blank" rel="noopener"&gt;https://enterprise.arcgis.com/en/server/latest/publish-services/linux/setup-caches-for-client-consumption.htm#ESRI_SECTION1_C8C2AA1672F34194817DD3BC793F52F5:~:text=Define%20the-,cacheControlMaxAge%20property,-When%20clients%20send&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2025 21:17:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673774#M43604</guid>
      <dc:creator>ArchitSrivastava</dc:creator>
      <dc:date>2025-12-17T21:17:55Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673801#M43606</link>
      <description>&lt;P&gt;A quick check on a couple of the multi-machine ArcGIS Server sites that I manage show the same ETAG being generated from different machines in the same site when the same REST API calls are made to the different machines.&amp;nbsp; Without knowing more about the specific REST API calls being made (is &lt;STRONG&gt;f=json&amp;amp;token=Foo&lt;/STRONG&gt; really the complete URL?), I can't offer any additional comments.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2025 23:14:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673801#M43606</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2025-12-17T23:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673803#M43607</link>
      <description>&lt;P&gt;Does your understanding come from documentation, experience, or somewhere else?&amp;nbsp; If documentation, please share links to specific Esri documentation to back up the information.&amp;nbsp; If experience, how much have you tested this specific situation?&amp;nbsp; A quick 5-min check on a couple of the multi-machine ArcGIS Server sites I manage, so the opposite behavior you describe as expected.&amp;nbsp; If you can share a reproducible test others can try to generate the results you expect, I would be interested.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2025 23:17:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673803#M43607</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2025-12-17T23:17:28Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673857#M43608</link>
      <description>&lt;P&gt;Hello&amp;nbsp;,&lt;/P&gt;&lt;P&gt;Thanks for your reply&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/59475"&gt;@ArchitSrivastava&lt;/a&gt;.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;this is expected behavior in a multi-machine ArcGIS Server site.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;gt; Don't you think it is a pitty ? Shouldn't there be something cleverer that prevent penalizing multi machines setups ? Should an idea be logged or do you think it is pointless ? To me, multi machines setup should be transparent client side specially when responses are identical !&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;SPAN&gt;Rather than relying on ETags, Esri recommends controlling client-side caching using the&lt;/SPAN&gt;&lt;STRONG&gt;cacheControlMaxAge&lt;/STRONG&gt;&lt;SPAN&gt;property.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;gt; The problem is that I configured "cacheControlMaxAge" property on this service and for a reason unknown to me, it does not apply to request in the form of:&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank" rel="noopener"&gt;https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;It does work on 'query' request:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NicolasGIS_0-1766041722260.png" style="width: 607px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/145814iC5068A479A9E497A/image-dimensions/607x180?v=v2" width="607" height="180" role="button" title="NicolasGIS_0-1766041722260.png" alt="NicolasGIS_0-1766041722260.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;returns:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NicolasGIS_1-1766041736573.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/145815iED43B18FBEF186C7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NicolasGIS_1-1766041736573.png" alt="NicolasGIS_1-1766041736573.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Good, this request will be cached for 30 minutes.&lt;/P&gt;&lt;P&gt;But the request:&lt;/P&gt;&lt;P&gt;&lt;A href="https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo" target="_blank" rel="noopener"&gt;https://gis.company.com/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=Foo&lt;/A&gt;&lt;/P&gt;&lt;P&gt;even if "cacheControlMaxAge" is configured &lt;STRONG&gt;always returns "max-age=0" &lt;/STRONG&gt;and as the 'etag' headers changes depending on machine replying, this is never cached nor getting a 302&lt;STRONG&gt;:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NicolasGIS_2-1766041770532.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/145816i71A236CD992C9D07/image-size/medium?v=v2&amp;amp;px=400" role="button" title="NicolasGIS_2-1766041770532.png" alt="NicolasGIS_2-1766041770532.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any reason why&amp;nbsp;&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/59475"&gt;@ArchitSrivastava&lt;/a&gt;&amp;nbsp;?&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/1371"&gt;@JoshuaBixby&lt;/a&gt;&amp;nbsp;I think it may depend on your service data source. On one service consumming data from SDE, I do have the same reply accross machines but for services referencing a file geodatabase data source, I am getting different Etag Header even if file geodatabase is identical. Might be interesting to know what is actually taken into account to generate this ETag header.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 07:13:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1673857#M43608</guid>
      <dc:creator>NicolasGIS</dc:creator>
      <dc:date>2025-12-18T07:13:38Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674113#M43617</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/1371"&gt;@JoshuaBixby&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This understanding comes primarily from hands-on experience managing multiple ArcGIS Enterprise environments over time. I’ve seen this behavior across several multi-machine ArcGIS Server sites, configured with Web Adaptors and load balancers, using different browsers and client applications. It’s not based on a single observation, but repeated testing while troubleshooting client-side caching and REST performance.&lt;/P&gt;&lt;P&gt;That said, this behavior is not driven by ArcGIS Server alone. &lt;STRONG&gt;It’s the interaction between ArcGIS Server headers, the Web Adaptor’s request routing, and browser caching behavior that produces what you see.&lt;/STRONG&gt; The cacheControlMaxAge property works in combination with how the browser honors caching and validation headers.&lt;/P&gt;&lt;P&gt;If someone wants to reproduce and validate this, two simple test scenarios help isolate the behavior (assuming a Web Adaptor–based site):&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Test scenario 1: Browser-side caching behavior (isolate browser caching and ETag handling.)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Disable browser caching completely (for example, using Chrome DevTools).&lt;BR /&gt;Reference (Follow the one with &lt;SPAN&gt;2120 upvotes)&lt;/SPAN&gt;:&lt;BR /&gt;&lt;A href="https://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development" target="_blank" rel="noopener"&gt;https://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Open a REST endpoint such as a layer or export request.&lt;/LI&gt;&lt;LI&gt;Send the same request multiple times.&lt;/LI&gt;&lt;LI&gt;Observe that responses consistently return 200, regardless of machine routing.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This confirms the browser cache is a contributing factor.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Test scenario 2: ArcGIS Server caching behavior (observe the effect of ArcGIS Server cache headers.)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Disable client-side caching for the service by setting cacheControlMaxAge to 0.&lt;BR /&gt;Reference (official Esri documentation or you can control this from Service confirguration in ArcGIS Server Manager):&lt;BR /&gt;&lt;A href="https://pro.arcgis.com/en/pro-app/3.5/help/sharing/overview/configure-web-tile-layer.htm#:~:text=Optionally%2C%20check%20the,10.5%20or%20earlier" target="_blank" rel="noopener"&gt;https://pro.arcgis.com/en/pro-app/3.5/help/sharing/overview/configure-web-tile-layer.htm#:~:text=Optionally%2C%20check%20the,10.5%20or%20earlier&lt;/A&gt;.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Make sure browser caching is enabled.&lt;/LI&gt;&lt;LI&gt;Send repeated REST requests through the Web Adaptor.&lt;/LI&gt;&lt;LI&gt;Observe that caching behavior changes and ETag validation is no longer leveraged in the same way.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;In a Web Adaptor setup, requests are distributed in a round-robin manner by design. When caching is enabled, hitting the same machine with a valid ETag may return 304, while hitting another machine may return 200. This is expected given machine-specific ETag generation and client-side cache validation.&lt;/P&gt;&lt;P&gt;Different environments, browsers, and request patterns can show slightly different results, which may explain why behavior appears inconsistent across sites.&lt;/P&gt;&lt;P&gt;Keep in mind that changing these caching properties can have a &lt;STRONG&gt;direct impact on service performance&lt;/STRONG&gt;. Disabling or reducing client-side caching may cause the service to fetch data or tiles on every request instead of reusing cached responses, which can increase load on ArcGIS Server and lead to slower response times.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 22:32:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674113#M43617</guid>
      <dc:creator>ArchitSrivastava</dc:creator>
      <dc:date>2025-12-18T22:32:19Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674124#M43618</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/408959"&gt;@NicolasGIS&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thanks for the added screenshots, they help a lot.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;What you’re seeing is &lt;STRONG&gt;expected in a multi-machine ArcGIS Server site&lt;/STRONG&gt;, especially when you access it through &lt;STRONG&gt;ArcGIS Web Adaptor&lt;/STRONG&gt;, since Web Adaptor distributes requests round-robin across the machines. So the same URL can hit different nodes on refresh.&lt;BR /&gt;&lt;A href="https://enterprise.arcgis.com/en/web-adaptor/latest/install/iis/multiple-machine-deployment-with-arcgis-web-adaptor.htm" target="_blank" rel="noopener"&gt;https://enterprise.arcgis.com/en/web-adaptor/latest/install/iis/multiple-machine-deployment-with-arcgis-web-adaptor.htm&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;ETag + Cache-Control + client-side caching all work together:&lt;/STRONG&gt; the browser decides whether it can reuse a cached response based on Cache-Control: max-age, and once that expires it revalidates using ETag (If-None-Match). If ETags differ across machines, you can see mixed 200 and 304 results even for identical responses.&lt;BR /&gt;&lt;A href="https://enterprise.arcgis.com/en/server/latest/publish-services/windows/improve-map-service-display-performance.htm" target="_blank" rel="noopener"&gt;https://enterprise.arcgis.com/en/server/latest/publish-services/windows/improve-map-service-display-performance.htm&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;On cacheControlMaxAge:&lt;/STRONG&gt; Esri documents that this value is returned as max-age by the &lt;STRONG&gt;Export operation and the Tile resource&lt;/STRONG&gt;. That matches your screenshots where tile/export-style requests honor max-age, while the layer metadata endpoint (&lt;STRONG&gt;.../MapServer/86?f=json&lt;/STRONG&gt;) can still return "max-age=0".&lt;BR /&gt;&lt;A href="https://developers.arcgis.com/rest/enterprise-administration/server/editservice/" target="_blank" rel="noopener"&gt;https://developers.arcgis.com/rest/enterprise-administration/server/editservice/&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;A href="https://enterprise.arcgis.com/en/server/latest/publish-services/linux/setup-caches-for-client-consumption.htm" target="_blank" rel="noopener"&gt;https://enterprise.arcgis.com/en/server/latest/publish-services/linux/setup-caches-for-client-consumption.htm&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;Your point about &lt;STRONG&gt;SDE vs file geodatabase&lt;/STRONG&gt; is valid. In real deployments, services backed by SDE often behave more consistently across nodes (centralized backend), while file geodatabases can show more node-to-node differences depending on how the data is deployed (replicated per machine vs shared storage), which can show up as different ETags.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Additionally, I agree it’s &lt;STRONG&gt;worth logging an Idea&lt;/STRONG&gt;. Multi-machine behavior being more transparent client-side is a reasonable expectation, and even if it’s “by design,” it’s still a good enhancement request.&lt;BR /&gt;&lt;A href="https://community.esri.com/t5/arcgis-ideas/ct-p/arcgis-ideas" target="_blank" rel="noopener"&gt;https://community.esri.com/t5/arcgis-ideas/ct-p/arcgis-ideas&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 23:06:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674124#M43618</guid>
      <dc:creator>ArchitSrivastava</dc:creator>
      <dc:date>2025-12-18T23:06:04Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674126#M43619</link>
      <description>&lt;P&gt;I have a hard time believing the data source itself is a factor, at least the difference between different types of geodatabases, but it is definitely worth looking into some more.&amp;nbsp; If I can find some time I will run some additional tests.&lt;BR /&gt;&lt;BR /&gt;Regarding one of my earlier questions, what is the full REST call?&amp;nbsp; Is &lt;STRONG&gt;f=json&amp;amp;token=Foo&lt;/STRONG&gt;&amp;nbsp;really the full URL that is causing changing ETAGs?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 23:25:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674126#M43619</guid>
      <dc:creator>JoshuaBixby</dc:creator>
      <dc:date>2025-12-18T23:25:39Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS Server site: poor cache efficiency due to different "etag" header sent according to machine</title>
      <link>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674132#M43620</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/1371"&gt;@JoshuaBixby&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Completely reasonable point. I’m not saying the geodatabase type by itself is the cause. I’ve just noticed in a few environments that services backed by a centralized SDE tended to look more consistent across nodes, while file-based data deployments sometimes showed more variation. Either way, agreed it’s worth validating with a couple targeted tests.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;On your question about the full REST call:&lt;/STRONG&gt; yes, the REST call I meant is the basic layer resource endpoint:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/" target="_blank"&gt;https://&amp;lt;cname&amp;gt;/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=&amp;lt;token&amp;gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For troubleshooting, it also helps to hit each node directly and compare headers:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/" target="_blank"&gt;https://&amp;lt;machine1&amp;gt;:6443/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=&amp;lt;token&amp;gt;&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;A href="https://community.esri.com/" target="_blank"&gt;https://&amp;lt;machine2&amp;gt;:6443/arcgis/rest/services/General/Data/MapServer/86?f=json&amp;amp;token=&amp;lt;token&amp;gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, just to be clear: keeping the token stable during testing is simply to avoid changing the URL between requests (general HTTP caching behavior). I couldn’t find specific Esri documentation describing how ArcGIS Server generates ETags or whether the token is included as an input.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 23:51:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-enterprise-questions/arcgis-server-site-poor-cache-efficiency-due-to/m-p/1674132#M43620</guid>
      <dc:creator>ArchitSrivastava</dc:creator>
      <dc:date>2025-12-18T23:51:03Z</dc:date>
    </item>
  </channel>
</rss>

