He leído Lo de estado HTTP de código de respuesta debo usar si la petición es que falta un parámetro necesario? pero no pregunte específicamente acerca de los encabezados y allí no parece ser un consenso.

El contexto de esta pregunta asume que la autenticación es correcta. Actualmente estoy favoreciendo un 400 (a pesar de que no se siente bien, porque esto no es realmente un caso de «malformación de la sintaxis») o 403. Dado 403 descripción:

El servidor entiende la petición, pero se niega a cumplirla.
La autorización no será de ayuda y la solicitud NO se DEBE repetir. Si
el método de solicitud no fue de la CABEZA y el servidor desea hacer público
por qué la solicitud no ha sido cumplido, se DEBE describir la razón
por la negativa de la entidad.

Esto tiene más sentido para mí.

Puede alguien por favor me ilumine? Gracias.

InformationsquelleAutor David Peden | 2012-05-14

1 Comentario

  1. 46

    400 Bad Request

    Es un error de usuario en la solicitud. A diferencia de con un 403, el cliente debe se puede repetir su petición, pero sólo después de la modificación:

    10.4.1 400 Bad Request La solicitud no puede ser entendido por el servidor debido a un error de sintaxis. El cliente NO DEBE repetir la petición sin modificaciones.

    Editar

    Como Mark Reed señala en los comentarios, 403, dice, «no Hay nada de malo con lo que usted me envió. Usted tiene la debida autorización y con una sintaxis válida. Yo no quiero hacer lo que pides.»

    La parte que tiene en negrita dice, simplemente, si el servidor lo elige, puede decirle al cliente exactamente la razón por la que no quiere cumplir con la solicitud.

    • Definitivamente 400. Si hay algo malo con la petición de que no dependen del estado del servidor, es una de 400. Si el único problema está en el lado del servidor («es un perfectamente cromulent solicitud como ustedes saben, pero yo no estoy en el estado de ánimo»), a continuación, utilizar 403.
    • Gracias por los comentarios, chicos.
    • ¿Qué acerca de 412 (error en la condición previa)?
    • AFAIK HTTP 412 Precondition Failed está reservado para ser utilizado con If-Match y If-Unmodified-Since sólo encabezados.

Dejar respuesta

Please enter your comment!
Please enter your name here