Home Backend Development PHP Problem How to disable browser caching in php

How to disable browser caching in php

Nov 02, 2020 pm 01:58 PM
php Browser cache

How to disable browser caching in php: You can disable caching of static pages through meta tags, such as [], expires Used to set the expiration time of web pages.

How to disable browser caching in php

The method is as follows:

(Video tutorial recommendation: php video tutorial)

1. For static pages (set through meta tags)

<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式-->
<meta http-equiv="expires" content="0" />
Copy after login

or set through pragma no-cache, pragma appears in the http-equiv attribute, and uses the no-cache value of the content attribute to indicate whether to cache the web page (for Improve speed. Some browsers cache pages that viewers have browsed. By definition below, browsers generally do not cache pages, and the browser cannot be browsed offline).

<meta http-equiv="pragma" content="no-cache" />
Copy after login

Cache-Control: Cache control, specifying the caching mechanism followed by requests and responses. Setting Cache-Control in a request message or response message does not modify the caching process during the processing of another message.

The caching instructions in the request include no-cache, no-store, max-age, max-stale, min-fresh, only-if-cached, etc. The instructions in the response message include public, private, no -cache, no-store, no-transform, must-revalidate, proxy-revalidate, max-age.

The meaning of some instructions in each message is as follows:

Public: Indicates that the response can be cached by any cache area.

Private: Indicates that all or part of the response message for a single user cannot be processed by the shared cache. This allows the server to only describe a partial response from a user that is not valid for other users' requests.

no-cache: Indicates that the request or response message cannot be cached

no-store: Used to prevent important information from being released unintentionally. Sending it in the request message will cause both the request and response messages to use caching.

max-age: Indicates that the client can receive responses with a lifetime no greater than the specified time (in seconds).

min-fresh: Indicates that the client can receive responses with a response time less than the current time plus the specified time.

max-stale: Indicates that the client can receive response messages beyond the timeout period. If you specify a value for max-stale messages, the client can receive response messages that exceed the specified value of the timeout period.

Note: The Cache-Control header was added in HTTP1.1 and can achieve more detailed cache control compared to several other methods.

<meta http-equiv="Cache-Control" content="no-cache,no-store, must-revalidate">
header(&#39;Cache-Control: max-age=3600*24&#39;);//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的
Copy after login

2. For PHP pages:

For dynamic pages, the cached code must be placed before any HTML tag output, otherwise an error will occur.

<?php 
header(&#39;Cache-Control:no-cache,must-revalidate&#39;);   
header(&#39;Pragma:no-cache&#39;);   
header("Expires:0"); 
?>
Copy after login

Last-Modified: The last modification time of the document. Its usage is:

1: If it is a static file, the client will send the time in its cache, and Apache will compare it. If it finds that there is no modification, it will directly return a header with a status code of 304. The number of bytes is very small.

2: If it is a PHP dynamic file, the client sends the comparison time, and PHP will determine whether to modify it. If the modification time is the same, only 1024 bytes will be returned. As for why 1024 is returned, it is unknown. If The file generated by your PHP is very large, and it only returns 1024, so it saves bandwidth. The client will automatically display the file from the cache based on the modification time sent by the server.

Note: If the Last-Modified header is not set, only setting Cache-Control and Expires will also work, but each request must return the actual number of file bytes, not 1024

php Set the Last-Modified header sample code as follows:

header(&#39;Last-Modified: &#39;.gmdate(&#39;D, d M Y 01:01:01&#39;,$time).&#39; GMT&#39;);//使用的是格林尼治时间,$time是指文件添加时候的时间戳
Copy after login

Related recommendations: php training

The above is the detailed content of How to disable browser caching in php. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain the match expression (PHP 8 ) and how it differs from switch. Explain the match expression (PHP 8 ) and how it differs from switch. Apr 06, 2025 am 12:03 AM

In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.

What is Cross-Site Request Forgery (CSRF) and how do you implement CSRF protection in PHP? What is Cross-Site Request Forgery (CSRF) and how do you implement CSRF protection in PHP? Apr 07, 2025 am 12:02 AM

In PHP, you can effectively prevent CSRF attacks by using unpredictable tokens. Specific methods include: 1. Generate and embed CSRF tokens in the form; 2. Verify the validity of the token when processing the request.

Explain strict types (declare(strict_types=1);) in PHP. Explain strict types (declare(strict_types=1);) in PHP. Apr 07, 2025 am 12:05 AM

Strict types in PHP are enabled by adding declare(strict_types=1); at the top of the file. 1) It forces type checking of function parameters and return values ​​to prevent implicit type conversion. 2) Using strict types can improve the reliability and predictability of the code, reduce bugs, and improve maintainability and readability.

How to correctly display the locally installed 'Jingnan Mai Round Body' on the web page? How to correctly display the locally installed 'Jingnan Mai Round Body' on the web page? Apr 05, 2025 pm 10:33 PM

Using locally installed font files in web pages Recently, I downloaded a free font from the internet and successfully installed it into my system. Now...

How can you prevent a class from being extended or a method from being overridden in PHP? (final keyword) How can you prevent a class from being extended or a method from being overridden in PHP? (final keyword) Apr 08, 2025 am 12:03 AM

In PHP, the final keyword is used to prevent classes from being inherited and methods being overwritten. 1) When marking the class as final, the class cannot be inherited. 2) When marking the method as final, the method cannot be rewritten by the subclass. Using final keywords ensures the stability and security of your code.

What is a composer used for? What is a composer used for? Apr 06, 2025 am 12:02 AM

Composer is a dependency management tool for PHP. The core steps of using Composer include: 1) Declare dependencies in composer.json, such as "stripe/stripe-php":"^7.0"; 2) Run composerinstall to download and configure dependencies; 3) Manage versions and autoloads through composer.lock and autoload.php. Composer simplifies dependency management and improves project efficiency and maintainability.

How to control the top and end of pages in browser printing settings through JavaScript or CSS? How to control the top and end of pages in browser printing settings through JavaScript or CSS? Apr 05, 2025 pm 10:39 PM

How to use JavaScript or CSS to control the top and end of the page in the browser's printing settings. In the browser's printing settings, there is an option to control whether the display is...

How to use locally installed font files on web pages? How to use locally installed font files on web pages? Apr 05, 2025 pm 10:57 PM

How to use locally installed font files on web pages Have you encountered this situation in web page development: you have installed a font on your computer...

See all articles