Kurti: Warum zwei Angaben "Content-type"

Hallo,
ich habe in einer Seite gefunden

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">  
<meta http-equiv="content-type" content="text/html; charset=UTF-8">  
Ist dies sinnvoll?

Nach meiner Ansicht kann doch nur eine Codierung richtig sein.
Gruß
Kurti

  1. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    Ist dies sinnvoll?

      
    Nein - ich bin jetzt nichtmal sicher, was in einem tatsächlichen HTTP-Header passieren würde, wenn mehrfach dasselbe Feld vorkommt - zählt das letzte? Das erste? Ist es ein Fehler?  
      
    
    > Nach meiner Ansicht kann doch nur eine Codierung richtig sein.  
      
    Ja.
    
    1. Tach,

      Nein - ich bin jetzt nichtmal sicher, was in einem tatsächlichen HTTP-Header passieren würde, wenn mehrfach dasselbe Feld vorkommt - zählt das letzte? Das erste? Ist es ein Fehler?

      letzteres: "Multiple message-header fields with the same field-name MAY be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e., #(values)]. It MUST be possible to combine the multiple header fields into one "field-name: field-value" pair, without changing the semantics of the message, by appending each subsequent field-value to the first, each separated by a comma." - RFC 2616

      mfg
      Woodfighter

  2. Hallo,

    Ist dies sinnvoll?

    Nein.

    Nach meiner Ansicht kann doch nur eine Codierung richtig sein.

    Stimmt. Völlig unabhängig davon wird nur die erste Meta-Angabe berücksichtigt, ob sie nun richtig ist oder nicht (und sofern es keine hochwertigeren Angaben zu verwendeten Kodierung gibt).

    Gruß, Daniel

    1. Völlig unabhängig davon wird nur die erste Meta-Angabe berücksichtigt, [...]

      Wo steht das?

      1. Völlig unabhängig davon wird nur die erste Meta-Angabe berücksichtigt, [...]

        Wo steht das?

        Ich hatte nur einen Schnelltest in IE, Fx, Opera und Chrome gemacht. Aber weil du es bist, hab ich schnell die relevanten Abschnitte herausgesucht ;)

        8.2.2.1 Determining the character encoding und
        8.2.5.4.4 The "in head" insertion mode

        Es steht natürlich nirgends so wie ich es gesagt habe, weil ich mich nur auf das Beispiel bezog. Aber nachdem der Parser eine gültige und unterstütze Angabe zur Kodierung gefunden hat, ändert er diese nicht nochmal, weil die erste Angabe dann bereits als gesichert gilt.

        Wie es in HTTP geregelt ist, musst du selbst herausfinden. Die Angabe unterschiedlicher Kodierungen ist anscheinend verboten, aber ich habe auf die schnelle nicht herausgefunden, was passieren soll, wenn trotzdem zwei unvereinbare Werte angegeben werden.

        Ein Schnelltest mit PHP zeigt, dass nur die zuletzt gemachte Angabe ankommt (möglicherweise ist das in HTTP 1.1 auch so geregelt, aber wie gesagt, auf die schnelle hab ich dazu nichts passendes gefunden).