Specify cache validator and Leverage Browser caching with ApacheSet default Apache caching behavior, overide with .htaccess.htaccess force browser side cacheAuthenticate users with LDAP and Apache 2.4Apache httpd doesn't respond to remote browserApache caching old configuration?How to specify FastCGI parameters with Apache mod_proxy_fcgi?mod_expires browser cachingApache caching only works sometimes404 Error for Permalinks with Apache Alias and WordpressApache is caching virtualhost, how to disable caching?

How to officially communicate to a non-responsive colleague?

How did they achieve the Gunslinger's shining eye effect in Westworld?

Why don’t airliners have temporary liveries?

Show mappings for all function keys

What risks are there when you clear your cookies instead of logging off?

Last survivors from different time periods living together

Why doesn't Adrian Toomes give up Spider-Man's identity?

Different pedals/effects for low strings/notes than high

At what point in time did Dumbledore ask Snape to kill him?

Was Jesus good at singing?

How does a transformer increase voltage while decreasing the current?

Do simulator games use a realistic trajectory to get into orbit?

Was the Tamarian language in "Darmok" inspired by Jack Vance's "The Asutra"?

Is an early checkout possible at a hotel before its reception opens?

Preventing Employees from either switching to Competitors or Opening Their Own Business

C++ compiler optimization of unused string

My coworkers think I had a long honeymoon. Actually I was diagnosed with cancer. How do I talk about it?

Example of non-trivial functors

Avoiding cliches when writing gods

How does an ordinary object become radioactive?

Argon vs nitrogen for preserving wine

How did students remember what to practise between lessons without any sheet music?

Smooth switching between 12 V batteries, with a toggle switch

Movie about a boy who was born old and grew young



Specify cache validator and Leverage Browser caching with Apache


Set default Apache caching behavior, overide with .htaccess.htaccess force browser side cacheAuthenticate users with LDAP and Apache 2.4Apache httpd doesn't respond to remote browserApache caching old configuration?How to specify FastCGI parameters with Apache mod_proxy_fcgi?mod_expires browser cachingApache caching only works sometimes404 Error for Permalinks with Apache Alias and WordpressApache is caching virtualhost, how to disable caching?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I'm trying to improve my websites speed and using GTMetrix for some analysis.
I'm getting 2 recommendations I cannot sort.




Leverage browser caching for the following cacheable resources:



https://cellfina.co.uk/favicon.ico (expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill


(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
(expiration not specified)
https://www.googletagmanager.com/gtm.js?id=GTM-PS6VCD5 (15 minutes)
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable
(20 minutes)
https://www.google-analytics.com/analytics.js (2 hours)




and




The following resources are missing a cache validator. Resources that
do not specify a cache validator cannot be refreshed efficiently.
Specify a Last-Modified or ETag header to enable cache validation for
the following resources:



https://cellfina.co.uk/favicon.ico
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable



Within the .htaccess file I have



ExpiresActive On
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresDefault "access 1 month"


which I would expect to deal with both the js and favicon files.



Why isn't it and how to I deal with the API calls?










share|improve this question






















  • What are the response headers for these resources? "which I would expect to deal with both" - mod_expires sets the Expires and Cache-Control headers, it doesn't do anything with Last-Modified or ETag headers (which are a different caching mechanism). But that notice looks advisory, not necessarily mandatory? Do you even want those (JSON?) responses / API calls cached?

    – DocRoot
    May 21 at 9:46











  • @DocRoot I would like the json calls cached because they return exactly the same info each time. I don't know why the developer wrote it like that, but it is what I have. Also, how should I set the Last-Modified and ETag for these items?

    – HenryM
    May 21 at 11:10

















0















I'm trying to improve my websites speed and using GTMetrix for some analysis.
I'm getting 2 recommendations I cannot sort.




Leverage browser caching for the following cacheable resources:



https://cellfina.co.uk/favicon.ico (expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill


(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
(expiration not specified)
https://www.googletagmanager.com/gtm.js?id=GTM-PS6VCD5 (15 minutes)
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable
(20 minutes)
https://www.google-analytics.com/analytics.js (2 hours)




and




The following resources are missing a cache validator. Resources that
do not specify a cache validator cannot be refreshed efficiently.
Specify a Last-Modified or ETag header to enable cache validation for
the following resources:



https://cellfina.co.uk/favicon.ico
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable



Within the .htaccess file I have



ExpiresActive On
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresDefault "access 1 month"


which I would expect to deal with both the js and favicon files.



Why isn't it and how to I deal with the API calls?










share|improve this question






















  • What are the response headers for these resources? "which I would expect to deal with both" - mod_expires sets the Expires and Cache-Control headers, it doesn't do anything with Last-Modified or ETag headers (which are a different caching mechanism). But that notice looks advisory, not necessarily mandatory? Do you even want those (JSON?) responses / API calls cached?

    – DocRoot
    May 21 at 9:46











  • @DocRoot I would like the json calls cached because they return exactly the same info each time. I don't know why the developer wrote it like that, but it is what I have. Also, how should I set the Last-Modified and ETag for these items?

    – HenryM
    May 21 at 11:10













0












0








0








I'm trying to improve my websites speed and using GTMetrix for some analysis.
I'm getting 2 recommendations I cannot sort.




Leverage browser caching for the following cacheable resources:



https://cellfina.co.uk/favicon.ico (expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill


(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
(expiration not specified)
https://www.googletagmanager.com/gtm.js?id=GTM-PS6VCD5 (15 minutes)
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable
(20 minutes)
https://www.google-analytics.com/analytics.js (2 hours)




and




The following resources are missing a cache validator. Resources that
do not specify a cache validator cannot be refreshed efficiently.
Specify a Last-Modified or ETag header to enable cache validation for
the following resources:



https://cellfina.co.uk/favicon.ico
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable



Within the .htaccess file I have



ExpiresActive On
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresDefault "access 1 month"


which I would expect to deal with both the js and favicon files.



Why isn't it and how to I deal with the API calls?










share|improve this question














I'm trying to improve my websites speed and using GTMetrix for some analysis.
I'm getting 2 recommendations I cannot sort.




Leverage browser caching for the following cacheable resources:



https://cellfina.co.uk/favicon.ico (expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill


(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
(expiration not specified)
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
(expiration not specified)
https://www.googletagmanager.com/gtm.js?id=GTM-PS6VCD5 (15 minutes)
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable
(20 minutes)
https://www.google-analytics.com/analytics.js (2 hours)




and




The following resources are missing a cache validator. Resources that
do not specify a cache validator cannot be refreshed efficiently.
Specify a Last-Modified or ETag header to enable cache validation for
the following resources:



https://cellfina.co.uk/favicon.ico
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1102/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1103/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1104/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1108/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1109/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1110/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1111/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1291/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/1432/refill
https://cellfina.co.uk/wp-json/contact-form-7/v1/contact-forms/881/refill
https://connect.facebook.net/signals/config/2069824809931530?v=2.8.47&r=stable



Within the .htaccess file I have



ExpiresActive On
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresDefault "access 1 month"


which I would expect to deal with both the js and favicon files.



Why isn't it and how to I deal with the API calls?







apache-2.4 .htaccess






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked May 21 at 8:56









HenryMHenryM

1011




1011












  • What are the response headers for these resources? "which I would expect to deal with both" - mod_expires sets the Expires and Cache-Control headers, it doesn't do anything with Last-Modified or ETag headers (which are a different caching mechanism). But that notice looks advisory, not necessarily mandatory? Do you even want those (JSON?) responses / API calls cached?

    – DocRoot
    May 21 at 9:46











  • @DocRoot I would like the json calls cached because they return exactly the same info each time. I don't know why the developer wrote it like that, but it is what I have. Also, how should I set the Last-Modified and ETag for these items?

    – HenryM
    May 21 at 11:10

















  • What are the response headers for these resources? "which I would expect to deal with both" - mod_expires sets the Expires and Cache-Control headers, it doesn't do anything with Last-Modified or ETag headers (which are a different caching mechanism). But that notice looks advisory, not necessarily mandatory? Do you even want those (JSON?) responses / API calls cached?

    – DocRoot
    May 21 at 9:46











  • @DocRoot I would like the json calls cached because they return exactly the same info each time. I don't know why the developer wrote it like that, but it is what I have. Also, how should I set the Last-Modified and ETag for these items?

    – HenryM
    May 21 at 11:10
















What are the response headers for these resources? "which I would expect to deal with both" - mod_expires sets the Expires and Cache-Control headers, it doesn't do anything with Last-Modified or ETag headers (which are a different caching mechanism). But that notice looks advisory, not necessarily mandatory? Do you even want those (JSON?) responses / API calls cached?

– DocRoot
May 21 at 9:46





What are the response headers for these resources? "which I would expect to deal with both" - mod_expires sets the Expires and Cache-Control headers, it doesn't do anything with Last-Modified or ETag headers (which are a different caching mechanism). But that notice looks advisory, not necessarily mandatory? Do you even want those (JSON?) responses / API calls cached?

– DocRoot
May 21 at 9:46













@DocRoot I would like the json calls cached because they return exactly the same info each time. I don't know why the developer wrote it like that, but it is what I have. Also, how should I set the Last-Modified and ETag for these items?

– HenryM
May 21 at 11:10





@DocRoot I would like the json calls cached because they return exactly the same info each time. I don't know why the developer wrote it like that, but it is what I have. Also, how should I set the Last-Modified and ETag for these items?

– HenryM
May 21 at 11:10










0






active

oldest

votes












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f968192%2fspecify-cache-validator-and-leverage-browser-caching-with-apache%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Server Fault!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f968192%2fspecify-cache-validator-and-leverage-browser-caching-with-apache%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

Why did Thanos need his ship to help him in the battle scene?Which actor plays Thanos in the Avengers mid-credits scene?Are there economic implications portrayed in comics where the buildings and cities are ruined almost daily?Old X-Men comic where team travels to alien world with a ring-like sun that needs recharging?Why does Ego need help sleeping?Is there an objective answer to who “the strongest Avenger” is?How did Banner get unstuck?Why did Thanos get hit?How did Thanos (or anyone) know the Infinity Stones would give him this power?Did Thanos leave Eitri alive for his after-sales service?In Avengers 1, why does Thanos need Loki?