Differences
This shows you the differences between two versions of the page.
website_optimization [2012/02/15 22:33] |
website_optimization [2012/02/15 22:33] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Website Optimization ====== | ||
+ | * [[Optimization]] | ||
+ | |||
+ | * [[http://us.php.net/manual/en/function.session-cache-limiter.php|PHP: session_cache_limiter]] | ||
+ | |||
+ | |||
+ | ==== PHP Caching ==== | ||
+ | |||
+ | Anytime PHP uses a session, it applies the setting in ''session_cache_limiter'' in the PHP configuration. This setting sends HTTP headers which directly affect the browser's caching. | ||
+ | |||
+ | Caching is disabled by default when sessions are used. The preferred approach would be to set it globally to ''public'', and have pages that need real-time data disable it using ''session_cache_limiter''. | ||
+ | |||
+ | The length that the browser is told to cache its contents is set by the ''session.cache_expire'' setting in the PHP config. The default value is 180 minutes (3 hours). Use ''session_cache_expire'' to override the value. | ||
+ | |||
+ | Here are the headers each setting sends: | ||
+ | |||
+ | **nocache (default)** | ||
+ | |||
+ | Disables caching in the browser completely. | ||
+ | |||
+ | <code> | ||
+ | Expires: Thu, 19 Nov 1981 08:52:00 GMT | ||
+ | Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 | ||
+ | Pragma: no-cache | ||
+ | </code> | ||
+ | |||
+ | **public (preferred)** | ||
+ | |||
+ | Lets the browser cache the contents of the webpage. | ||
+ | |||
+ | <code> | ||
+ | Expires: (sometime in the future, according session.cache_expire) | ||
+ | Cache-Control: public, max-age=(sometime in the future, according to session.cache_expire) | ||
+ | Last-Modified: (the timestamp of when the session was last saved) | ||
+ | </code> | ||
+ | |||
+ | **private** | ||
+ | |||
+ | Prefers that a proxy handle caching. | ||
+ | |||
+ | <code> | ||
+ | Expires: Thu, 19 Nov 1981 08:52:00 GMT | ||
+ | Cache-Control: private, max-age=(session.cache_expire in the future), pre-check=(session.cache_expire in the future) | ||
+ | Last-Modified: (the timestamp of when the session was last saved) | ||
+ | </code> |