HTTP level caching, so we can stick varnish in front of the web pages
This commit is contained in:
parent
9b93df4e22
commit
cfbeddde9f
3 changed files with 23 additions and 2 deletions
|
@ -183,7 +183,7 @@ class Page {
|
|||
* Display the page according to the mode and data given
|
||||
*/
|
||||
public function display() {
|
||||
global $page;
|
||||
global $page, $user;
|
||||
|
||||
header("Content-type: ".$this->type);
|
||||
header("X-Powered-By: SCore-".SCORE_VERSION);
|
||||
|
@ -196,7 +196,22 @@ class Page {
|
|||
|
||||
switch($this->mode) {
|
||||
case "page":
|
||||
header("Cache-control: no-cache");
|
||||
header("Vary: Cookie, Accept-Encoding");
|
||||
if(CACHE_HTTP) {
|
||||
if($user->is_anonymous() && $_SERVER["REQUEST_METHOD"] == "GET") {
|
||||
header("Cache-control: public, max-age=600");
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 600) . ' GMT');
|
||||
}
|
||||
else {
|
||||
#header("Cache-control: private, max-age=0");
|
||||
header("Cache-control: no-cache");
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s', time() - 600) . ' GMT');
|
||||
}
|
||||
}
|
||||
else {
|
||||
header("Cache-control: no-cache");
|
||||
header('Expires: ' . gmdate('D, d M Y H:i:s', time() - 600) . ' GMT');
|
||||
}
|
||||
usort($this->blocks, "blockcmp");
|
||||
$this->add_auto_html_headers();
|
||||
$layout = new Layout();
|
||||
|
|
|
@ -79,6 +79,11 @@ class UserPage extends SimpleExtension {
|
|||
}
|
||||
else if($event->get_arg(0) == "logout") {
|
||||
set_prefixed_cookie("session", "", time()+60*60*24*$config->get_int('login_memory'), "/");
|
||||
if(CACHE_HTTP) {
|
||||
# to keep as few versions of content as possible,
|
||||
# make cookies all-or-nothing
|
||||
set_prefixed_cookie("user", "", time()+60*60*24*$config->get_int('login_memory'), "/");
|
||||
}
|
||||
log_info("user", "Logged out");
|
||||
$page->set_mode("redirect");
|
||||
$page->set_redirect(make_link());
|
||||
|
|
|
@ -62,6 +62,7 @@ define("COVERAGE", true);
|
|||
define("CONTEXT", false);
|
||||
define("CACHE_MEMCACHE", false);
|
||||
define("CACHE_DIR", false);
|
||||
define("CACHE_HTTP", false);
|
||||
define("VERSION", 'trunk');
|
||||
define("SCORE_VERSION", 's2hack/'.VERSION);
|
||||
define("COOKIE_PREFIX", 'shm');
|
||||
|
|
Reference in a new issue