In einem Blog-Beitrag verwende ich das folgende PHP, um den Inhaltstyp einer Antwort festzulegen:
header('content-type: application/json; charset=utf-8');
Ich habe gerade einen Kommentar zu diesem Beitrag erhalten, der besagt, dass content-type
groß geschrieben werden muss Content-type
. Ist das richtig? Es scheint für mich mit allen Kleinbuchstaben zu funktionieren, und ich nahm an, dass bei den HTTP-Headern die Groß- und Kleinschreibung nicht berücksichtigt wurde. Oder funktioniert es nur, weil Browser nett sind?
http
http-headers
Svish
quelle
quelle
Antworten:
Bei Headernamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Aus RFC 2616 - "Hypertext Transfer Protocol - HTTP / 1.1" , Abschnitt 4.2, "Nachrichtenkopfzeilen" :
Der aktualisierte RFC 7230 listet an dieser Stelle keine Änderungen gegenüber RFC 2616 auf.
quelle
HTTP-Headernamen unterscheiden gemäß RFC 2616 nicht zwischen Groß- und Kleinschreibung :
4.2:
(Bei Feldwerten kann zwischen Groß- und Kleinschreibung unterschieden werden oder nicht.)
Wenn Sie darauf vertrauen, dass die wichtigsten Browser dies einhalten, sind Sie bereit.
BTW, anders als die meisten HTTP, Methoden (Verben) sind Groß- und Kleinschreibung:
5.1.1 Methode
quelle
tldr; Bei HTTP / 1.1- und HTTP / 2-Headern wird die Groß- und Kleinschreibung nicht berücksichtigt.
Gemäß RFC 7230 (HTTP / 1.1):
https://tools.ietf.org/html/rfc7230#section-3.2
Auch RFC 7540 (HTTP / 2):
https://tools.ietf.org/html/rfc7540#section-8.1.2
quelle
header('Content-type: image/png')
funktionierte nicht mit PHP 5.5 für IE11, da im Bildstrom als Text angezeigt wurdeheader('Content-Type: image/png')
gearbeitet, wie im Bild als Bild erschienDer einzige Unterschied ist das Kapital 'T'.
quelle
Sie unterscheiden nicht zwischen Groß- und Kleinschreibung. Tatsächlich konvertiert der NodeJS-Webserver sie explizit in Kleinbuchstaben, bevor sie im Anforderungsobjekt verfügbar gemacht werden.
quelle
Der RFC für HTTP (wie oben zitiert) schreibt vor, dass bei den Headern die Groß- und Kleinschreibung nicht berücksichtigt wird. Bei bestimmten Browsern (ich sehe Sie an, IE) ist es jedoch am besten, jedes der Wörter groß zu schreiben:
vs.
Dies ist kein "HTTP" -Standard, sondern nur eine weitere Besonderheit des Browsers, über die wir als Entwickler nachdenken müssen.
quelle
Offiziell wird bei Überschriften die Groß- und Kleinschreibung nicht berücksichtigt. Es ist jedoch üblich, den ersten Buchstaben jedes Wortes in Großbuchstaben zu schreiben.
Da dies jedoch gängige Praxis ist, gehen bestimmte Programme wie IE davon aus, dass die Header groß geschrieben werden.
Während die Dokumente sagen, dass die Groß- und Kleinschreibung nicht berücksichtigt wird, haben schlechte Programmierer die Dokumente grundsätzlich geändert.
quelle
Das Header-Wort unterscheidet nicht zwischen Groß- und Kleinschreibung, aber rechts wie der Inhaltstyp empfiehlt es sich, es so zu schreiben, da es zwischen Groß- und Kleinschreibung unterscheidet. wie mein Beispiel unten
quelle