Ich habe auf den HTTP / 1.1 Headern nachgelesen einige der Beispiel-Header in Abschnitt 14.1 (Accept) verwenden sie accept-extension
s (ich glaube, das ist was sie sind) namens level=1
, level=2
, etc.
Das Problem, das ich habe, ist, dass sie diese level=X
Dinge verwenden, als ob es offensichtlich sein sollte, was sie tun. Ist das Dokument nur schlecht zu erklären oder fehlt mir etwas?
Danke.
Erweitern auf Julian Reschkes richtige Antwort ein wenig. Die Antwort erwähnt "Medientyp-Parameter", der direkt von der Spezifikation kommt:
%Vor%Der Parameter ist definiert als:
%Vor%Das ist ein Name / Wert-Paar (siehe Token ). In den Beispielen ist "level = 1" also nur ein ein Beispiel für einen legalen "Parameter". In diesem Sinne gibt es nichts wirklich Besonderes. Wenn Sie sich die Zeit nehmen, das Backus-Naur der Definition zu analysieren, sehen Sie, dass "level = x" in allen Beispielen ein Medientyp-Parameter sein muss.
In Bezug auf warum verwendet das Beispiel speziell "level", Ich denke, die "level" in den HTTP-Spec-Beispielen bezieht sich auf HTML-Levels . In allen Beispielen ändert level den text / html-Medientyp. Die beste Definition, die ich für HTML-Levels gefunden habe, ist:
"Es gibt vier offizielle Ebenen [0-4] oder HTML-konforme Versionen. Jede enthält eine Gruppe von Tags und höhere Ebenen enthalten Tags von allen darunter."
Das heißt, eine Anfrage könnte Accept verwenden, um nach einer niedrigeren HTML-Ebene zu fragen, wenn sie eine Teilmenge von HTML-Elementen / Attributen haben möchte. Als Beispiel definiert HTML-Level 0 das DOCTYPE-Element, definiert aber das "Version" -Attribut nicht bis Level 3; HTML-Ebenen 0-2 würden also in einer level
-Deklaration kein Versionsattribut enthalten.
"level" scheint ein alter Aspekt / Feature von HTML zu sein. Ich kann sehr wenige Verweise darauf finden, keine davon ist klar (z. B. gibt es einen Unterschied zwischen HTML-Ebene und Hauptversion?), Und die meisten von denen, die ich finden kann, sind alt. Die neuesten Apache-httpd-Serverdokumente sagen jedoch immer noch, dass sie "level" im Inhalt unterstützen Verhandlung , und schlagen vor, dass es zumindest in dieser Implementierung synonym mit der Version sein kann:
"4. Wählen Sie die Varianten mit dem höchsten Medienparameter" level "(der für die Version der text / html-Medientypen verwendet wird)."
Beachten Sie, dass die IANA-Registrierung nichts über "level" erwähnt. als Text / HTML-Parameter. Wenn nichts anderes, sagt mir das: "Benutze es nicht."
Interessanterweise verwendet die DOM-Spezifikation immer noch das Wort "level".
usw.
Ich habe auf den HTTP / 1.1 Headern nachgelesen einige der Beispiel-Header in Abschnitt 14.1 (Accept) verwenden sie level
s (ich glaube, das ist was sie sind) namens level
, text/html;level=1
, etc.
Das Problem, das ich habe, ist, dass sie diese text/html
Dinge verwenden, als ob es offensichtlich sein sollte, was sie tun. Ist das Dokument nur schlecht zu erklären oder fehlt mir etwas?
Danke.
"level" ist nur ein Beispiel für einen Medientyp-Parameter. Es ist nicht beteiligt in der Berechnung der Präferenz.
(Die relevante Spezifikation ist heutzutage Ссылка )
"level" ist nur ein Beispiel für einen Medientyp-Parameter. Es ist nicht beteiligt in der Berechnung der Präferenz.
(Die relevante Spezifikation ist heutzutage Ссылка )
Erweitern auf Julian Reschkes richtige Antwort ein wenig. Die Antwort erwähnt "Medientyp-Parameter", der direkt von der Spezifikation kommt:
%Vor%Der Parameter ist definiert als:
%Vor%Das ist ein Name / Wert-Paar (siehe Token ). In den Beispielen ist "level = 1" also nur ein ein Beispiel für einen legalen "Parameter". In diesem Sinne gibt es nichts wirklich Besonderes. Wenn Sie sich die Zeit nehmen, das Backus-Naur der Definition zu analysieren, sehen Sie, dass "level = x" in allen Beispielen ein Medientyp-Parameter sein muss.
In Bezug auf warum verwendet das Beispiel speziell "level", Ich denke, die "level" in den HTTP-Spec-Beispielen bezieht sich auf HTML-Levels . In allen Beispielen ändert level den text / html-Medientyp. Die beste Definition, die ich für HTML-Levels gefunden habe, ist:
"Es gibt vier offizielle Ebenen [0-4] oder HTML-konforme Versionen. Jede enthält eine Gruppe von Tags und höhere Ebenen enthalten Tags von allen darunter."
Das heißt, eine Anfrage könnte Accept verwenden, um nach einer niedrigeren HTML-Ebene zu fragen, wenn sie eine Teilmenge von HTML-Elementen / Attributen haben möchte. Als Beispiel definiert HTML-Level 0 das DOCTYPE-Element, definiert aber das "Version" -Attribut nicht bis Level 3; HTML-Ebenen 0-2 würden also in einer <!DOCTYPE>
-Deklaration kein Versionsattribut enthalten.
"level" scheint ein alter Aspekt / Feature von HTML zu sein. Ich kann sehr wenige Verweise darauf finden, keine davon ist klar (z. B. gibt es einen Unterschied zwischen HTML-Ebene und Hauptversion?), Und die meisten von denen, die ich finden kann, sind alt. Die neuesten Apache-httpd-Serverdokumente sagen jedoch immer noch, dass sie "level" im Inhalt unterstützen Verhandlung , und schlagen vor, dass es zumindest in dieser Implementierung synonym mit der Version sein kann:
"4. Wählen Sie die Varianten mit dem höchsten Medienparameter" level "(der für die Version der text / html-Medientypen verwendet wird)."
Beachten Sie, dass die IANA-Registrierung nichts über "level" erwähnt. als Text / HTML-Parameter. Wenn nichts anderes, sagt mir das: "Benutze es nicht."
Interessanterweise verwendet die DOM-Spezifikation immer noch das Wort "level".
usw.
Tags und Links http