wann wir header gesendet?

Beliar

Grünschnabel
Hallo allerseits!
Also wenn ich in meinem script per session_start eine session starte dann wird da der http header versendet und der user bekommt sein cookie mit der SID.
Die meta tags haben aber auch auswirkungen auf den header. Also wenn ihc ein
<meta http-equiv="cache-control" content="no-cache"> nach dem session start habe wird das ja nicht mehr gesendet, bzw "wirkt" nicht mehr, oder?

Wenn ich aber jetzt vor das ganze Script ein ob_start() schreibe und danach ein ob_end_flush(), wirkt dann das no-cache?

thx,
MFG Beliar
 
"session_start()" prüft selbst ob die session schon vorhanden ist oder nicht.

ich bin mir nicht sicher, aber ich glaube nicht, das der html header dann versendet wird.
und die cookies muss man meiner meinung nach auch selbst schreiben. (wäre ja auch eine frechheit, wenn er das automatisch machen würde)
 
Ob HTTP-äquvalente Metaangaben wirken oder nicht, hängt ganz vom Browser ab, ob die dort angegebene Werte beispielsweise erlaubt sind und er sich korrekt interpretieren kann. Diese könntest du auch direkt vom Webserver senden lassen.
 
@unicate, warum frechheit session start setzt natürlich ein cookie wenn möglich! Und zwar ein cookie mit der Session ID. Beim wieder aufnehmen der session ist man auf diese ID im cookie angewiesen um den client zu identifizieren. Wenn cookies deaktiviert sind kann man die sID auch über die URL übertragen.

Irgendwie ist meine Frage aber noch nicht ganz beantwortet. Nochmal etwas weniger wirr gefragt:
Wenn ich die gesamte ausgabe in einen puffer mache, wird der http header erst dann versendet wenn ich ob_end_flush() aufrufe?
 
Die session_start()-Funktion selbst setzt keinen Cookie. Sie sendet lediglich ein HTTP-Header-Feld mit der Aufforderung/Empfehlung an den UA, einen Cookie zu setzten. Dieser kann sich jedoch immer noch dagegen entscheiden.
Besitzt ein UA einen Cookie zu einer Domain, werden seine Informationen bei der Anfrage mitgesandt. Damit kann der Webserver eine noch existierende Sitzung wieder aufnehmen.

Dennoch verstehe ich deine Frage nicht ganz, Beliar. Ist es eine rein informative Frage, oder steckt dort mehr hinter?
 
Beliar hat gesagt.:
Wenn ich die gesamte ausgabe in einen puffer mache, wird der http header erst dann versendet wenn ich ob_end_flush() aufrufe?
1. Ja, denn es wird nichts gesendet solange Du nicht flushst.
2. Halte Dich bitte an Gross- und Kleinschreibung.
 
Zurück