Cache-control Use Cache-control:private Learn notes _ server Other

Source: Internet
Author: User
Tags http authentication

Its function is divided into the following kinds of situations according to different ways of re browsing:
(1), open a new window
Value is private, No-cache, and Must-revalidate, the server will be accessed again when a new window is opened.
If the Max-age value is specified, the server is not again accessed within the time of this value, for example:
Cache-control:max-age=5 (for 5 seconds after accessing this page will not go to the server)

(2), enter in the address bar
A value of private or must-revalidate accesses the server only for the first visit and is no longer accessible.
Value is No-cache, then it is accessed every time.
Value is Max-age, the access is not repeated until it expires.

(3), press the Back button
Value is private, must-revalidate, and Max-age, it will not be accessed again.
Value is No-cache, the access is repeated each time

(4), press the Refresh button
Regardless of the value, repeated access
When the Cache-control value is "No-cache", accessing this page does not leave a page backup on the Internet temporary article folder.
In addition, caching can also be affected by specifying a "Expires" value. For example, to specify that the Expires value is a long past time, if you repeatedly press ENTER in the Address bar when you visit the network, you will repeat the visit each time: Expires:fri, Dec 1999 16:00:00 GMT
For example: Prevent the page from being cached in IE
HTTP response message Header settings:

Copy Code code as follows:

CacheControl = No-cache
Pragma=no-cache
Expires =-1

Expires is a good thing, if the Web page on the server often changes, set it to-1, indicating immediate expiration. If a page is updated daily 1 o'clock in the morning, you can set the expires to 1 o'clock in the morning the next day.
When the HTTP1.1 server specifies CacheControl = No-cache, the browser does not cache the Web page.

Legacy HTTP 1.0 Servers cannot use Cache-control headers.

So for backward compatibility with HTTP 1.0 servers, IE uses the Pragma:no-cache header to provide special support for HTTP.
If the client communicates through a secure connection (https://)/with the server, and the server returns Pragma:no-cache headers in the response,
Then Internet Explorer does not cache this response. Note: Pragma:no-cache only prevents caching when used in a secure connection, and if used in an unsecured page, the processing is the same as expires:-1, and the page is cached but marked as immediately expired.

Header Common Instructions
The header is divided into three parts:
The first part is the HTTP protocol version (http-version);
The second part is state code (status);
The third part is the causal phrase (reason-phrase).

Copy Code code as follows:

<?php
Fix 404 Pages: Use this header directive to resolve the 404 header generated by the URL rewrite
Header (' http/1.1 OK ');

Set 404 Header: Page not found
Header (' http/1.1 404 Not Found ');

Pages are permanently deleted and can tell the search engine to update their URLs
Set moved Permanently header (Good for redrictions)
Use with location header
Header (' http/1.1 moved Permanently ');
Access restricted
Header (' http/1.1 403 Forbidden ');
Server error
Header (' http/1.1 Internal Server Error ');

Redirect to a new location
Redirect to a new location:
Header (' location:http://www.jb51.net);

Redirect after a period of delay
Redrict with delay:
Header (' refresh:10; url=http://www.sina.com.cn ');
print ' You'll be redirected in seconds ';

Overwrite x-powered-by value
Override x-powered-by:php:
Header (' x-powered-by:php/4.4.0 ');
Header (' x-powered-by:brain/0.6b ');

Content language (en = 中文版)
Content language (en = 中文版)
Header (' content-language:en ');

Last modification time (available at cache time)
Last modified (good for caching)
$time = time ()-60; or Filemtime ($FN), etc
Header (' last-modified: ' Gmdate (' d, D M Y h:i:s ', $time). ' GMT ');

Tell the browser what to get is not yet updated
Header for telling the browser the content
did not get changed
Header (' http/1.1 304 not Modified ');

Set the length of the content (available when caching):
Set content Length (good for caching):
Header (' content-length:1234 ');

Used to download files:
Headers for a download:
Header (' Content-type:application/octet-stream ');
Header (' content-disposition:attachment; filename= "Example.zip");
Header (' content-transfer-encoding:binary ');

Prohibit caching of the current document:
Load the file to Send:readfile (' example.zip ');
Disable caching of the current document:
Header (' Cache-control:no-cache, No-store, max-age=0, Must-revalidate ');
Header (' Expires:mon, June 1997 05:00:00 GMT ');
To set the content type:
Date in the Pastheader (' Pragma:no-cache ');
Set Content Type:
Header (' content-type:text/html; charset=iso-8859-1 ');
Header (' content-type:text/html; Charset=utf-8 ');
Header (' Content-type:text/plain ');

Plain text file
Header (' Content-type:image/jpeg ');

JPG picture
Header (' Content-type:application/zip ');

ZIP file
Header (' content-type:application/pdf ');

PDF file
Header (' Content-type:audio/mpeg ');

Audio MPEG (MP3,...) file
Header (' Content-type:application/x-shockwave-flash ');

Displays the logon dialog box, which can be used for HTTP authentication
Flash animation//show Sign In box
Header (' http/1.1 401 Unauthorized ');
Header (' Www-authenticate:basic realm= "top Secret");
print ' Text that'll be displayed if the user hits cancel or ';
print ' enters wrong login data ';
?>

Now the form is filled out, we can use AJAX to authenticate users at any time, friendly prompts, but in the user did not pay attention to Ajax-friendly hints, submitted the wrong form, jump back to the original page, but the information filled out is lost.
To support page bounce, there are the following options:
1. Use the Session_cache_limiter method: Session_cache_limiter (' private,must-revalidate '); but it should be noted that Session_cache_limiter () method is only useful before the Session_Start () method is written.
2. Use header to set control Caching method: Header (' cache-control:private,must-revalidate ');

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.