Detailed introduction to PHP cache controller_PHP tutorial

WBOY
Release: 2016-07-15 13:31:28
Original
875 people have browsed it

In header("Cache-control: private"); The cache of the web page is controlled by the PHP cache controller in the HTTP message header. Common values ​​​​are private, no -cache, max-age, must-revalidate, etc., default to private. Its function is divided into the following situations according to different re-browsing methods:

(1) Open a new window

The values ​​are private, no-cache, and must-revalidate , then the server will be accessed again when a new window is opened.

And if the max-age value is specified, the server will not be accessed again within this value, for example:
PHP cache controller: max-age=5 (indicates that when accessing this Accessing the webpage again within 5 seconds will not go to the server)

(2) Enter in the address bar

If the value is private or must-revalidate, only the first The server will be accessed during the first visit and will not be accessed again in the future.
The value is no-cache, then it will be accessed every time.
If the value is max-age, it will not be accessed again before expiration.

(3) Press the back button

if the value is private, must-revalidate, max-age, it will not be revisited, and the value of
is no- cache, the PHP cache controller will be accessed repeatedly every time. ”, accessing this page will not leave a page backup in the temporary Internet article folder. In addition, caching can also be affected by specifying the "Expires" value.

For example, if you specify the Expires value as a time that has long passed, then if you repeatedly press Enter in the address bar when accessing this website, the access will be repeated each time: Expires: Fri, 31 Dec 1999 16:00: 00 GMT For example: prohibit the page from caching http response message header settings in IE: CacheControl = no-cachePragma=no-cache

Expires = -1Expires is a good thing, if the web page on the server If it changes frequently, set it to -1 to indicate immediate expiration. If a web page is updated at 1 am every day, you can set Expires to 1 am the next day. When the HTTP1.1 server specifies CacheControl = no-cache, the browser will not cache the web page. Legacy HTTP 1.0 servers cannot use PHP cache controller headers.

So in order to be backward compatible with HTTP 1.0 servers, IE provides special support for HTTP using the Pragma:no-cache header.

If the client communicates with the server over a secure connection (https://) and the server returns the Pragma:no-cache header in the response, Internet Explorer will not cache the response. Note: Pragma:no-cache only prevents caching when used in a secure connection. If used in a non-secure page, the handling is the same as Expires:-1. The page will be cached but marked as expired immediately.

PHP Cache Controller message header field description


Cache-Control specifies the caching mechanism followed by requests and responses. Setting a PHP cache controller in a request or response message does not modify the cache handling of the other message. The cache instructions during the request include no-cache, no-store, max-age, max-stale, min-fresh, only-if-cached, and the instructions in the response message include public, private, no-cache, no-store, no-transform, must-revalidate, proxy-revalidate, max-age.

The meaning of the 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 is used to prevent important information from being inadvertently released. Sending 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 a value for max-stale messages is specified, the client can receive response messages that exceed the specified value of the timeout

http://www.bkjia.com/PHPjc/446205.html


www.bkjia.com

true

TechArticleIn header(Cache-control: private); the cache of the web page is controlled by the PHP Cache Controller in the HTTP message header To control, common values ​​include private, no-cache, max-age, must-revalidate, etc., the default...
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template