Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Browser back button showing the page from cache?

When I logout from wordpress website, it will be redirected to the login page. But the issue is, if I hit the browser back button, It will show the previous page, which need the authorization. I know, the page is being loaded from the browser cache and no interaction with the server is happening. But I need to force the page to reload if the user hit the browser back button.

I did check the header and I could find the following

Cache-Control:  no-cache, must-revalidate, max-age=0

I have also tried by adding the following meta tags and it didn't work.

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

Please help

like image 322
Nauphal Avatar asked Nov 20 '13 06:11

Nauphal


People also ask

What happens when browser Back button is pressed?

For pages that are set as non-cached, the browser reloads the page from the server when you press Back, as though it was the first time you are visiting it. For cached pages, the browser displays it out of the cache, which is much faster.

Why after logout clicking back button on the page displays previous page content?

It happens because your browser cached the page on the client. The solution is to prevent the caching of that page(s), by forcing the browser to request a new page even when pressing Back button, instead of reading the saved one.

What is back forward cache in Chrome?

Back/forward cache (or bfcache) is a browser optimization that enables instant back and forward navigation. It significantly improves the browsing experience for users—especially those with slower networks or devices.


1 Answers

I have tried by setting header like below and it worked like a charm!

header("Cache-Control: private, must-revalidate,
        max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
      );
like image 170
Nauphal Avatar answered Sep 21 '22 07:09

Nauphal