http - plain - content-type pdf
¿Necesito un tipo de contenido para las solicitudes de obtención de http? (4)
De acuerdo con el RFC 7231 sección 3.1.5.5 :
Un remitente que genera un mensaje que contiene un cuerpo de carga DEBERÍA generar un campo de encabezado de tipo de contenido en ese mensaje a menos que el remitente no conozca el tipo de medio deseado de la representación adjunta. Si un campo de encabezado Content-Type no está presente, el destinatario PUEDE asumir un tipo de medio de "application / octet-stream" ( [RFC2046], Sección 4.5.1 ) o examinar los datos para determinar su tipo.
Significa que el encabezado HTTP Content-Type
debe establecer solo para las solicitudes PUT
y POST
.
Por lo que yo entiendo, hay dos lugares donde establecer el tipo de contenido:
- El cliente establece un tipo de contenido para el cuerpo que está enviando al servidor (por ejemplo, para la publicación)
- El servidor establece un tipo de contenido para la respuesta.
¿Esto significa que no debo o no debo establecer un tipo de contenido para todas mis solicitudes de obtención (del lado del cliente)? ¿Y si puedo o debo qué tipo de contenido sería?
También leo en algunas publicaciones que el tipo de contenido del cliente especifica qué tipo de contenido le gustaría recibir al cliente. Entonces tal vez mi punto 1 no está bien?
La respuesta aceptada es incorrecta. La cita es correcta, la afirmación de que PUT y POST deben tenerla es incorrecta. No es necesario que PUT o POST en realidad tengan contenido adicional. Tampoco hay una prohibición de que GET tenga contenido.
Los RFC dicen exactamente lo que significan. IFF su lado (cliente O servidor de origen) enviará contenido adicional, más allá de los encabezados HTTP, DEBERÍA especificar un encabezado de tipo de contenido. Pero tenga en cuenta que es posible omitir el tipo de contenido e incluir el contenido (por ejemplo, utilizando un encabezado Content-Length).
Las solicitudes GET pueden tener encabezados "Aceptar", que dicen qué tipos de contenido entiende el cliente. El servidor puede usar eso para decidir qué tipo de contenido enviar.
Sin embargo son opcionales.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
Las solicitudes de obtención no deben tener el tipo de contenido porque no tienen una entidad de solicitud (es decir, un cuerpo)