Uso adecuado de los códigos de error HTTP. 550 - ¿Por qué es 5xx en lugar de 4xx?

Hoy en día, un colaborador usó un error 550 en una acción de eliminación cuando el usuario no tiene permiso, lo que al principio me pareció mal porque, como sé, ese error parece un error de cliente (también conocido como 4xx). y no un servidor (alias 5xx).

Al mirar la descripción, sugiere exactamente que se usó correctamente. En lugar de un error 401, que estaba usando antes con algunos "problemas".

El problema del error 401 es: si el usuario A inició sesión e intenta realizar una acción que devuelve un 401, puede sugerirle que debe 'iniciar sesión' ya que no tiene credenciales válidas para acceder a ese recurso http. El problema con este enfoque es que si el usuario está registrado, el servidor sabe que no tiene el permiso, en este caso, parece un 550, es más apropiado pero no me parece que deba usarse un error 550 en este guión.

La pregunta es: ¿Cuál es el uso correcto (si lo hay) del error 550, en aplicaciones basadas en web? Entiendo que se usa en el uso de relés FTP y SMTP. Si algún usuario que inició sesión, envía una solicitud de una acción que no está permitida, ¿qué error debe devolverse?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta