Leí What HTTP status response code should I use if the request is missing a required parameter? pero no pregunté específicamente sobre los encabezados y no parecía haber consenso.¿Cuál es el código de estado HTTP más apropiado para devolver si falta un encabezado requerido?
El contexto de esta pregunta supone una autenticación exitosa. Actualmente estoy a favor ya sea un 400 (aunque eso no se siente bien, porque esto no es realmente un caso de "sintaxis incorrecta") o 403. En vista de 403 Descripción:
El servidor ha entendido la solicitud, pero se niega a cumplirlo. La autorización no ayudará y la solicitud NO DEBE repetirse. Si el método de solicitud no era HEAD y el servidor desea hacer público por qué la solicitud no se ha cumplido, DEBERÍA describir el motivo para la denegación en la entidad.
Esto tiene más sentido para mí.
¿Alguien puede por favor aclararme? Gracias.
Definitivamente 400. Si hay algo malo con la solicitud que no depende del estado del servidor, es un 400. Si lo único malo está en el lado del servidor ("Por lo que usted sabe, esa es una petición perfectamente cromática, pero no estoy de humor "), luego usas 403. –
Gracias por los comentarios, muchachos. –
¿Qué pasa con 412 (precondición fallida)? –