milky: HTTP Refresh:/Location: statt <META "refresh">

Hi,

ich habe mal wieder eine größtenteils blödsinnige Frage(*); eine Seite
vom Browser automatisch neu laden zu lassen kann man ja mittels
<META HTTP-EQUIV="refresh" CONTENT="..."> erreichen,
und ich meine gelesen zu haben, daß alle Meta angaben mit HTTP-EQUIV
das Equivalent zu HTTP-Headern sind (daher der Name?!?) - kann man
denn nun in auch diesem sepziellen Fall den Wert aus content=""
innerhalb des HTTP-Antwortkopfes übertragen?
Und falls das mgl. ist, heißt die Zeile dann Refresh: oder muß man
Location: oder dergl. verwenden?

(*) brauche diese Variante weil ich nur den <body>-Teil einer Datei
selber bestimmen kann, der <head> Bereich schon mehr oder weniger
ausgegeben ist und ich nur noch HTTP-header mit auf den Weg geben
könnte.

MsF,
milky

  1. Moin!

    ich habe mal wieder eine größtenteils blödsinnige Frage(*); eine Seite
    vom Browser automatisch neu laden zu lassen kann man ja mittels
    <META HTTP-EQUIV="refresh" CONTENT="..."> erreichen,
    und ich meine gelesen zu haben, daß alle Meta angaben mit HTTP-EQUIV
    das Equivalent zu HTTP-Headern sind (daher der Name?!?) - kann man
    denn nun in auch diesem sepziellen Fall den Wert aus content=""
    innerhalb des HTTP-Antwortkopfes übertragen?

    Korrekt gelesen: http-equiv sollte für "HTTP Equivalent" stehen. Der Browser soll diese Angabe so behandeln, als ob sie im HTTP-Header stünde.

    Und falls das mgl. ist, heißt die Zeile dann Refresh: oder muß man
    Location: oder dergl. verwenden?

    Hängt davon ab, was du erreichen willst. Ein Redirect wird mit "Location: URL" erreicht, ein zeitlich nicht sofortiger Refresh (der üblicherweise eine komplette Seite enthält, die zuerst dargestellt wird) mit "Refresh". Das Format sollte mit denen des Meta-Tags identisch sein. Der Grund, warum es keinen Meta-Tag für Location gibt, ist simpel: Dieser Header tritt bei Redirects auf - die enthalten keinen HTTP-Body - es kann also keinen Meta-Tag geben.

    (*) brauche diese Variante weil ich nur den <body>-Teil einer Datei
    selber bestimmen kann, der <head> Bereich schon mehr oder weniger
    ausgegeben ist und ich nur noch HTTP-header mit auf den Weg geben
    könnte.

    Mit HTTP-Headern zu arbeiten ist viel besser, als es mit Meta-Tags zu machen, da die Browser den HTTP-Header beachten müssen, und er bei allen möglichen Ressourcen (auch Bildern, Downloads etc.) funktioniert - Meta nur in HTML-Ressourcen.

    - Sven Rautenberg

    1. hallo,

      Korrekt gelesen: http-equiv sollte für "HTTP Equivalent" stehen. Der Browser soll diese Angabe so behandeln, als ob sie im HTTP-Header stünde.

      Mit HTTP-Headern zu arbeiten ist viel besser, als es mit Meta-Tags zu machen, da die Browser den HTTP-Header beachten müssen, und er bei allen möglichen Ressourcen (auch Bildern, Downloads etc.) funktioniert - Meta nur in HTML-Ressourcen.

      versteh ich das richtig es würde also auch so <meta name="refresh" content=""60; url=http
       gehen statt <meta http-equiv="REFRESH" content="60; url= oder <http-equiv="REFRESH" content="60; url=...
      und das <meta http-equiv="location" url="...
      würde auch gehen?

      Also soviel ich weiss geht es nur mit Meta Angabe sowieso nicht?!
      Gruss vom Alain

      • Sven Rautenberg
      1. Moin!

        versteh ich das richtig es würde also auch so <meta name="refresh" content=""60; url=http
        gehen statt <meta http-equiv="REFRESH" content="60; url= oder <http-equiv="REFRESH" content="60; url=...
        und das <meta http-equiv="location" url="...
        würde auch gehen?

        Nein, falsch verstanden. Wenn, dann nur mit korrekter Meta-Angabe:
        <meta http-equiv="refresh" content="60; url=URL">

        Nichts anderes. Kein <meta name>, kein <http-equiv>.

        Und Location geht nicht, weil das Bestandteil eines Redirects ist. Ein Redirect sendet keine HTML-Daten. Also kann auch eine Meta-Angabe, welche ja aus HTML-Daten besteht, keinen Redirect haben, sondern nur einen Refresh (der durchaus schon nach Null Sekunden erfolgt).

        Also soviel ich weiss geht es nur mit Meta Angabe sowieso nicht?!

        _Was_ geht nicht?

        - Sven Rautenberg

        1. Hi Sven,

          Danke für die Info!
          Ich habe in der Tat nach der Variante mit der verzögerten
          Weiterleitung gesucht, war mir eben nur wirklich unsicher,
          ob das auch wirklich erlaubt ist.

          Das man das ganze nun auch mit allen anderen Dateien auf
          dem Server machen kann, wäre ich doch glatt alleine
          niemals 'drauf gekommen. Das ist eine richitge tolle Idee,
          Bilder austauschen zu lassen ohne Schnulliscript und ohne
          Flash... (*probiert_das_gerade_aus*)

          Also Danke nochmal,
          milky

        2. jau,
          alles klaro

          Also soviel ich weiss geht es nur mit Meta Angabe sowieso nicht?!

          _Was_ geht nicht?

          ich meinte <meta name="refresh" content="60; url=URL"> geht nicht,
          aber das hattest du ja auch gesagt.

          • Sven Rautenberg

          ok gruss vom Alain