En una publicación de blog, uso el siguiente PHP para configurar el tipo de contenido de una respuesta:
header('content-type: application/json; charset=utf-8');
Acabo de recibir un comentario en ese post diciendo que content-type
las necesidades a ser capitalizadas, Content-type
. ¿Es esto correcto? Parece funcionar para mí con todas las minúsculas, y supuse que los encabezados HTTP no distinguen entre mayúsculas y minúsculas. ¿O simplemente funciona porque los navegadores son buenos?
http
http-headers
Svish
fuente
fuente
Respuestas:
Los nombres de encabezado no distinguen entre mayúsculas y minúsculas.
De RFC 2616 - "Protocolo de transferencia de hipertexto - HTTP / 1.1" , Sección 4.2, "Encabezados de mensajes" :
La actualización de RFC 7230 no enumera ningún cambio de RFC 2616 en esta parte.
fuente
Los nombres de encabezado HTTP no distinguen entre mayúsculas y minúsculas, de acuerdo con RFC 2616 :
4.2:
(Los valores de campo pueden o no ser sensibles a mayúsculas y minúsculas).
Si confía en que los principales navegadores cumplirán con esto, está listo.
Por cierto, a diferencia de la mayoría de HTTP, los métodos (verbos) distinguen entre mayúsculas y minúsculas:
5.1.1 Método
fuente
tldr; los encabezados HTTP / 1.1 y HTTP / 2 no distinguen entre mayúsculas y minúsculas.
De acuerdo con RFC 7230 (HTTP / 1.1):
https://tools.ietf.org/html/rfc7230#section-3.2
Además, RFC 7540 (HTTP / 2):
https://tools.ietf.org/html/rfc7540#section-8.1.2
fuente
header('Content-type: image/png')
no funcionaba con PHP 5.5 al servicio de IE11, ya que en la secuencia de imágenes se mostraba como textoheader('Content-Type: image/png')
trabajado, ya que en la imagen apareció como una imagenLa única diferencia es la 'T' mayúscula.
fuente
No son sensibles a mayúsculas y minúsculas. De hecho, el servidor web NodeJS los convierte explícitamente a minúsculas, antes de ponerlos a disposición en el objeto de solicitud.
fuente
El RFC para HTTP (como se citó anteriormente) dicta que los encabezados no distinguen entre mayúsculas y minúsculas, sin embargo, encontrará que con ciertos navegadores (lo estoy mirando, IE), aprovechar cada una de las palabras tiende a ser mejor:
vs
Este no es el estándar "HTTP", pero solo otra de las peculiaridades del navegador, como desarrolladores, tenemos que pensar.
fuente
oficialmente, los encabezados no distinguen entre mayúsculas y minúsculas, sin embargo, es una práctica común poner en mayúscula la primera letra de cada palabra.
pero, como es una práctica común, ciertos programas como IE asumen que los encabezados están en mayúsculas.
entonces, aunque los documentos dicen que no distinguen entre mayúsculas y minúsculas, los programadores malos básicamente han cambiado los documentos.
fuente
la palabra Encabezados no distingue entre mayúsculas y minúsculas, pero a la derecha, como Tipo de contenido, es una buena práctica escribirla de esta manera, porque es sensible a mayúsculas y minúsculas. como mi ejemplo a continuación
fuente