wake-up-neo.com

Was ist Content-Language und Accept-Language?

Ich habe die HTTP-Header von Content-Language und Accept-Language gesehen. Könnte jemand erklären, wofür diese und für den Unterschied zwischen ihnen sind? Ich habe eine mehrsprachige Website und frage mich, ob ich beide vom Benutzer auf die jeweils ausgewählte Sprache der Website einstellen soll.

48
amateur

Content-Language, ein Entity-Header, wird verwendet, um die Sprache (n) zu beschreiben, die für das Publikum bestimmt ist, sodass ein Benutzer nach der bevorzugten Sprache des Benutzers unterscheiden kann. Entity-Header werden sowohl in HTTP-Anforderungen als auch in Antworten verwendet.1

Accept-Language, ein Request-HTTP-Header, gibt an, welche Sprachen der Client verstehen kann und welche Gebietsschemavariante bevorzugt wird.2 Es kann mehrere Sprachen geben, jede mit einem optionalen Gewicht oder Qualitätswert. Zum Beispiel:

Accept-Language: da, en-gb;q=0.8, en;q=0.7

(Die Standardgewichtung ist 1, entspricht also da;q=1, en-gb;q=0.8, en;q=0.7).

Sie müssen die Werte und Gewichtungen analysieren, um zu sehen, ob eine geeignete Übersetzung verfügbar ist, und dem Benutzer die Übersetzung in der höchsten bevorzugten Sprachgewichtung zur Verfügung stellen.

Es wird empfohlen, den Benutzern eine Alternative zu geben, z. B. einen Cookie-Set-Wert, um eine bestimmte Sprache für Ihre Site zu erzwingen. Dies ist darauf zurückzuführen, dass einige Benutzer Ihre Site möglicherweise in einer bestimmten Sprache anzeigen möchten, ohne ihre Präferenzen für die Sprachannahme zu ändern.

76
onteria_

Content-Language beschreibt die Sprache, für die ein bestimmter Inhalt bestimmt ist. Accept-Language ist die Liste der Sprachen, in denen ein Benutzeragent Inhalte haben möchte. Die beste Möglichkeit, dies zu betrachten, ist, dass Content-Language Inhalt beschreibt und Accept-Language eine Präferenz vermittelt.

14
D.Shawley

Content-Language ist die Sprache der von Ihnen bereitgestellten Seite . Accept-Language ist eine Liste der Sprachen, die Sie bevorzugen.

11
Chrono Kitsune

Das Entity-Header-Feld "Content-Language" beschreibt die natürlichen Sprachen der beabsichtigten Zielgruppe für die eingeschlossene Entität. Beachten Sie, dass dies möglicherweise nicht allen Sprachen entspricht, die im Entity-Body verwendet werden.

Das Anforderungsheaderfeld Accept-Language beschränkt den Satz natürlicher Sprachen, die als Antwort auf die Anforderung bevorzugt werden

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

5
Rana Prathap

Der Content-Languageentity-Header wird verwendet, um die für die Zielgruppe bestimmte Sprache zu beschreiben, damit der Benutzer nach der von ihm bevorzugten Sprache unterscheiden kann.

Header type                     Entity header
Forbidden header name           no
CORS-safelisted response-header yes
CORS-safelisted request-header  yes

- MDN-Webreferenz - HTTP-Header - Inhaltssprache

Der Accept-Language-Request-HTTP-Header gibt an, welche Sprachen der Client verstehen kann und welche Gebietsschemavariante bevorzugt wird. (Unter Sprachen verstehen wir natürliche Sprachen wie Englisch und keine Programmiersprachen.)

Header type                     Request header
Forbidden header name           no
CORS-safelisted request-header  yes

- MDN-Webreferenz - HTTP-Header - Accept-Language

0
georgeawg