最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

proxy - How to be sure to get last page version without ANY cache?

programmeradmin6浏览0评论

As developer, you want all the time the last version files on page refresh action. As I understood, there are 3 kinds of cache :

  1. Browser cache (Browser settings)
  2. Website cache (WP plugins)
  3. Proxy cache (HTTP Headers)

For some reasons, there are some days where I can removed browser cache, download a new browser on Wordpress project without any cache plugin... If I keypress F5, CTRL+F5 or CTRL+Shift+R, I got an old version, sometimes version older. I can loose hours like this. One friend told me to see about the proxy cache and force the HTTP Header to get the last files version.

I got this raw header :

GET /preprod/sign-up/ HTTP/2
Host: mysite
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: ...
DNT: 1
Connection: keep-alive
Cookie: wordpress_test_cookie=WP+Cookie+check; bid_1_password_protected_auth=1111111111111111111111; SERVERID123456=1234
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache

Questions :

  1. How can I check if it can be a proxy cache matter ?
  2. How can I resolve that in this case on a Wordpress site ?

As developer, you want all the time the last version files on page refresh action. As I understood, there are 3 kinds of cache :

  1. Browser cache (Browser settings)
  2. Website cache (WP plugins)
  3. Proxy cache (HTTP Headers)

For some reasons, there are some days where I can removed browser cache, download a new browser on Wordpress project without any cache plugin... If I keypress F5, CTRL+F5 or CTRL+Shift+R, I got an old version, sometimes version older. I can loose hours like this. One friend told me to see about the proxy cache and force the HTTP Header to get the last files version.

I got this raw header :

GET /preprod/sign-up/ HTTP/2
Host: mysite
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: ...
DNT: 1
Connection: keep-alive
Cookie: wordpress_test_cookie=WP+Cookie+check; bid_1_password_protected_auth=1111111111111111111111; SERVERID123456=1234
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache

Questions :

  1. How can I check if it can be a proxy cache matter ?
  2. How can I resolve that in this case on a Wordpress site ?
Share Improve this question asked Jul 20, 2020 at 18:04 J.BizMaiJ.BizMai 9002 gold badges10 silver badges30 bronze badges 1
  • Keep in mind that hosting issues, and 3rd party plugin support, are both offtopic here, and there is little that can be done in the generic sense. You've bought into various plugins and technologies that have solutions and expertise unique to those plugins and technologies. You would get more useful answers at their support routes and in their community forums/groups than on a general WP Q&A site or forum – Tom J Nowell Commented Jul 20, 2020 at 18:16
Add a comment  | 

2 Answers 2

Reset to default 2

If it's browser cache, you can go into the dev tools and disable all local cache. Browser docs can tell you how to do this.

If it's the proxy cache, either turn it off or load the site without the proxy, and retest. You will need to consult the documentation for the proxy you're using for how to do this, and how to fix it. You would be better asking on another stack about your specific proxy software and its configuration.

If it's the WP cache, then no, WP doesn't have a page cache. Either disable the plugins providing caching and retest, or consult with their documentation. The solution here will be plugin specific, there is no generic WP solution as there is noo generic WP page caching.


Either start with browser cache and work by peeling away the layers in a process of elimination. Or, by eliminating all of it, and turning it back on 1 layer at a time until the misbehaviour returns. This will give you useful information on how to debug the problem and which layer is problematic.

I found a solution here.

function add_header_no_cache($headers) {

    $headers['Cache-Control'] = 'no-cache, no-store, must-revalidate, max-age=0'; 
    $headers['Pragma'] = 'no-cache';
    $headers['Expires'] = '0';

    return $headers;     
}
add_filter( 'wp_headers', 'add_header_no_cache_login' );
发布评论

评论列表(0)

  1. 暂无评论