Portal > Foren > PHP > PHP-Programmierung > Pragma, Expires und Cache-Control
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 27.06.2007, 00:22 Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Bleistift
 
Registriert seit: 31.12.2006
Ort: Zürich
Beiträge: 307
Standard Pragma, Expires und Cache-Control

Ich habe gerade festgestellt, dass die folgenden Header automatisch gesendet werden:
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
Wie kann ich das deaktivieren? Liegt das am Apache2 oder an PHP? Ich sende im Script selber keinen Header... Gerade aber das "Pragma" stört mich, da ich nicht weiss, wie ich das schlau überschreiben kann; Ich will, dass der Browser cachet...
__________________
. <-- This is Punkt. Copy Punkt into your signature to help him on his way to world domination.
Bleistift ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.09.2007, 13:57 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard

Dieser thread ist ja schon ein wenig älter - aber noch ohne Antworten geblieben....

Hat sich das inzwischen erledigt? Wenn ja, kannst du uns eine Lösung mitteilen? Wenn nicht, dann ist das hier ein *push*, damit der thread am leben bleibt...
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.09.2007, 18:06 Nach oben    #3
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 691
Standard

Also erstmal: PHP sendet diese Header automatisch, da PHP - schlau, wie es ist - davon ausgeht, dass die generierte Seite eine dynamische Seite ist. Wie man das Senden dieser Header verhindert habe ich auch noch nicht geschafft, allerdings auch noch nicht explizit versucht. Vielleicht geht es ja, wenn man mit den Funktionen zur Ausgabesteuerung das Senden der Header vorerst unterbindet, diese dann löscht und dann erst die Ausgabe an den Browser schicken lässt?!
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.09.2007, 22:09 Nach oben    #4
Erfahrener Benutzer
 
Registriert seit: 12.06.2006
Beiträge: 207
Standard

Ist es nicht so, dass PHP Header nur dann automatisch schreibt, wenn sie im Script nicht selbst vergeben worden sind? Also einfach mal mit header() andere Angaben schicken .. wäre jetzt meine Vorgehensweise.
FloB ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2007, 00:45 Nach oben    #5
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 691
Standard

@FloB: Nein, leider ist das nicht der Fall
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 23.09.2007, 11:28 Nach oben    #6
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Zitat:
Zitat von MrNiceGuy Beitrag anzeigen
@FloB: Nein, leider ist das nicht der Fall
Das sollte so funktionieren, kannst du mal deinen Beispielcode zeigen mit dem es nicht geht ?


Also bei mir funktioniert es mit:

PHP-Code:
<?php

date_default_timezone_set
('CET');
$modified =  date(DATE_RFC822,time()-(31*24*60*60));
$expires date(DATE_RFC822,time()-(365*31*24*60*60));
$today date(DATE_RFC822);
header('Date: '.$today);
header('Expires: '.$expires);
header('Cache-Control: private');
header('Pragma: no-cache');
header('Last-Modified: '.$modified);
header('Content-Type: text/html; charset=UTF-8');
echo 
'blub';

?>
Ausgabe ermittelt mit wget -dv :

Code:
---response begin---
HTTP/1.1 200 OK
Date: Sun, 23 Sep 2007 09:24:23 GMT
Server: Apache/2.2.4 (Win32) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_co
lor PHP/5.2.3
X-Powered-By: PHP/5.2.3
Expires: Thu, 30 Sep 76 10:24:23 +0100
Cache-Control: private
Pragma: no-cache
Last-Modified: Thu, 23 Aug 07 11:24:23 +0200
Connection: close
Content-Type: text/html; charset=UTF-8

---response end---
http://php.net/header

Zitat:
The optional replace parameter indicates whether the header should replace a previous similar header, or add a second header of the same type. By default it will replace, but if you pass in FALSE as the second argument you can force multiple headers of the same type.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.09.2007, 21:31 Nach oben    #7
Lutz
 
Benutzerbild von MrNiceGuy
 
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 691
Standard

Echt? Hmm... Also ich hatte das vor ewigkeiten mal getestet, weil ich das auch raus haben wollte, aber ich war der Meinung, dass es nicht ging. Vielleicht nur in PHP 4 nicht? Oder ich habe einen Fehler gemacht!? *kratzamkopf* Ich werde das mal testen, sobald ich wieder zu Hause bin und ein paar Minuten Zeit habe.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll
MrNiceGuy ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.09.2007, 07:50 Nach oben    #8
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Also bei mir funktioniert es mit:
Bei mir sieht es so aus:

Code:
wget -dv http://www.bekaan.org/php-Spielwiese/pragma.php
Zitat:
wget -dv http://www.bekaan.org/php-Spielwiese/pragma.php
DEBUG output created by Wget 1.9.1 on linux-gnu.

--07:41:18-- http://www.bekaan.org/php-Spielwiese/pragma.php
=> `pragma.php.1'
Resolving www.bekaan.org... 89.238.64.66
Caching www.bekaan.org => 89.238.64.66
Connecting to www.bekaan.org[89.238.64.66]:80... connected.
Created socket 3.
Releasing 0x80a6528 (new refcount 1).
---request begin---
GET /php-Spielwiese/pragma.php HTTP/1.0
User-Agent: Wget/1.9.1
Host: www.bekaan.org
Accept: */*
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response... HTTP/1.1 200 OK
Date: Wed, 26 Sep 2007 05:41:18 GMT
Server: Apache/2.2.3 (Unix) PHP/5.2.3
X-Powered-By: PHP/5.2.3
Expires: Sun, 03 Oct 76 06:41:18 +0100
Cache-Control: private
Pragma: no-cache
Last-Modified: Sun, 26 Aug 07 07:41:18 +0200
Content-Length: 3985
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8


Found www.bekaan.org in host_name_addresses_map (0x80a652
Registered fd 3 for persistent reuse.
Length: 3,985 [text/html]

100%[================================================== ================================================== ==============>] 3,985 --.--K/s

Last-modified header invalid -- time-stamp ignored.
07:41:18 (211.13 MB/s) - `pragma.php.1' saved [3985/3985]
Sieht doch gut aus!
Das letzte Last-modified finde ich komisch, zumal weiter oben die Angabe doch richtig scheint...
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.09.2007, 10:58 Nach oben    #9
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

hmm, grad mal kurz gegoogelt, die Last-Modified-Zeit muss so erstellt werden:

PHP-Code:
substr(date('r'time()-(31*24*60*60)), 0, -5).'GMT'
damit sollte es tun.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cache leeren um mit file Dateien zu durchsuchen Tryzero PHP-Programmierung 12 12.03.2007 10:13
Cache für Dateisystem-Abstraktion - wo Implementierung sinnvoll? pago Allgemeine Java-Programmierung 0 27.02.2006 11:36
Java properties cache Pfad? Für Sysadmin jr Allgemeine Java-Programmierung 0 07.12.2004 12:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45