Home Backend Development PHP Tutorial PHP browser cache_PHP tutorial

PHP browser cache_PHP tutorial

Jul 20, 2016 am 11:08 AM
php web no content exist storage server local Browser generate cache

Browser caching is completely different. The cached content is stored locally in the browser, but the content is generated by the web server. It is impossible for any party to complete this system process independently, so there must be a kind of system between them. Communication mechanism, this is the "cache negotiation" in http.
Let’s first look at a common http request:
host www.bkjia.com
user-agent mozilla/5.0 (windows; u; windows nt 6.1; zh-cn; rv:1.9.2.9) gecko/20100824 firefox/3.6.9 firephp tutorial/0.4
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language zh-cn ,zh;q=0.5
accept-encoding                                                                                                                                                                                                 use using
The above is an ordinary http request. In order to achieve browser cache control, we need to understand the four tags in the http response header:
last-modified: the last modified gmt time
etag: through a string Encoding to mark whether the content has changed
expires: Specify an expiration gmt time
cache-control: mag-age = expiration seconds relative to the browser local (can avoid the same effect when the server time is incorrect) )

Status code returned by http:
200 - Request successful

304 - The client has executed get, but the file has not changed

400 - Error request, such as syntax error
500 - The server generated an internal error
501 - The server does not support the requested function

The following code uses the above four methods to control the browser content caching for an hour. If after one hour It will immediately return a 304 status code to notify the browser to use local content. This will save server program execution time, network transmission time (only one header file is returned)
$modified_time = $_server['http_if_modified_since'];

if (strtotime($modified_time) + 3600 > time()) {

header("http/1.1 304");
exit(0);
}
header("last-modified:" . gmdate("d, d m y h:i:s") . "gmt");
header("expires:" . gmdate("d, d m y h:i:s", time() + 3600) . "gmt");
header("cache-control: max-age=3600");

What needs special explanation is: expires requires the server provider to support the expires module. By default, the expires module will not be enabled. Just use the following command:
a2enmod expires //Enable expires module

/etc/init.d/apache2 restart //Restart apache service

We can also modify the http.conf configuration:
expiresactive on expiresbytype image/gif “access plus 1 month” expiresbytype text /css tutorial "now plus 2 day" expiresdefault "now plus 1 day"
The above is to set the expiration time for the mime type of static content, because we cannot directly specify an absolute expiration time for static files, so we use "access "plus" syntax, the web server dynamically calculates an absolute expiration time when the content is requested, as the expires marked content.
It is worth mentioning that for common static file formats, even if there is no expires tag in the http response header returned by the web server, the browser will guess an expiration time based on some other clues, such as IE in a certain cache mode , the gif image is set to never expire, unless we configure expires to expire immediately, that is, set the expiration time to the current time or 0.



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

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/444852.htmlTechArticleBrowser caching is completely different. The cached content is stored locally in the browser, but the content is Web server generation, it is impossible for any party to complete this system process independently,...
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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

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