• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

<meta http-equiv>

hatchcanyon

Neues Mitglied
In einer Datei steht im Header

<meta http-equiv="expires" content="900">

Validiert man diese Datei mit dem Markup Validation Service des W3C (The W3C Markup Validation Service), dann erhält man die folgende Fehlermeldung:

Line 12, Column 41: Bad value expires for attribute http-equiv on element meta.
<meta http-equiv="expires" content="900">

Nach meinen Unterlagen ist die Schreibweise korrekt? Ein Fehler im Validierungsservice oder doch etwas was ich übersehe?

Gruss

Rolf
 
Werbung:
Nutzt Du einen HTML5-Doctype? Dann ist dieser meta-Tag nicht mehr zulässig. Solche Angaben schreibt man zudem nicht in den HTML-Code sondern eher in den HTTP-Header. Weiterhin ist deine Angabe auch noch falsch. "900" was? Sekunden? Stunden? Laut rfc2068 ist das eine unzulässige Angabe die kein System so interpretieren wird wie Du es gerne hättest.
 
Die Angabe steht im Header - das hatte ich angegeben - und nach den Spezifikationen, die man z.B. bei Stefan Münz findet, ist die Angabe einer Zahl als Beschreibung der Ablauffrist in Sekunden Standard. Unter XHTML1 waren diese Angaben genau in dieser Form zulässig.

Daran hatte ich mich gehalten.

Auch MetaTab Homepage führt die Angabe so. Natürlich möglich, dass der HTML5 Doctype zum Problem führt. Darüber kann ich leider keine Angaben finden.

Gruss

Rolf
 
Werbung:
Hallo, HTML 5.1 Nightly hier kann man aus der Tabelle entnehmen, dass es anscheinend schleichend aus der Spezifikation geflogen ist, sonst waren Angaben wie

<meta http-equiv="expires" content="siehe TEXT">
TEXT = eine Zahl die für Sekunden steht oder eine Datumsangabe in den üblichen Formaten


durchaus korrekt, auch war diese Anfangs in der HTML5 Spezifikation.

Allerdings ist eine sehr ähnliche Konstruktion der Pragma-Direktive http-equiv weiterhin gültig für,

<meta http-equiv="Refresh" content="siehe TEXT">

TEXT=eine Zahl die für Sekunden steht

<meta http-equiv="Refresh" content="300">

bewirkt, dass der Browser nach 300 Sekunden aktualisiert wird oder

<meta http-equiv="Refresh" content="20; URL=index.html">

bewirkt, dass nach 20 Sekunden auf die Seite index.html weitergeleitet wird.
 
Zuletzt bearbeitet:
Hier das hatte ich mir unter <meta http-equiv="expires" content=""> notiert, die Quelle habe ich leider nicht mitnotiert, jedenfalls erklärt der Absatz warum die Direktive aufgegeben wurde bzw. aus der Spec entfernt wurde.

expires:
The http-equiv values pragma and expires are attempts at bypassing caches without having to set the HTTP headers correctly. These are probably unnecessary uses;
any scenario where there is a legitimate reason to limit caching, the author is going to have enough control over the server to send the appropriate headers.
In addition, the meta tags can't be considered reliable (e.g. proxies and transparent caches aren't going to honour them).
 
Die Angabe steht im Header - das hatte ich angegeben
Nein, hast Du sicherlich nicht. Ich meinte den HTTP-Header, das ist etwas anderes als der HTML-<head>-Bereich und wird im HTTP-Protokoll mit übertragen. Die dort stehenden Daten sind für Browser wie auch für Suchmaschinen eher relevant da bevorzugt als eine Angabe im HTML-Code (die zudem nicht valide ist).
 
Werbung:
Hier das hatte ich mir unter <meta http-equiv="expires" content=""> notiert, die Quelle habe ich leider nicht mitnotiert, jedenfalls erklärt der Absatz warum die Direktive aufgegeben wurde bzw. aus der Spec entfernt wurde.

expires:
The http-equiv values pragma and expires are attempts at bypassing caches without having to set the HTTP headers correctly. These are probably unnecessary uses;
any scenario where there is a legitimate reason to limit caching, the author is going to have enough control over the server to send the appropriate headers.
In addition, the meta tags can't be considered reliable (e.g. proxies and transparent caches aren't going to honour them).

Danke für dieAufklärung!

Die Angabe steht im Header - das hatte ich angegeben
Nein, hast Du sicherlich nicht. Ich meinte den HTTP-Header, das ist etwas anderes als der HTML-<head>-Bereich und wird im HTTP-Protokoll mit übertragen. Die dort stehenden Daten sind für Browser wie auch für Suchmaschinen eher relevant da bevorzugt als eine Angabe im HTML-Code (die zudem nicht valide ist).

Sorry, das habe ich falsch gelesen.

Gruss

Rolf
 
Zurück
Oben