Tengo curiosidad por saber cuál es el código de estado HTTP más apropiado para una página de "artículo no existe".
Si la página en sí no existe, obviamente usaré 404. Sin embargo, una de mis páginas tiene un userid
argumento (es una página de "editar usuario") y en caso de que no exista ningún usuario con el ID de usuario dado, estoy mostrando un página de error, pero también me gustaría enviar un encabezado de estado 4xx (ya que "200 OK" realmente no encaja).
Supongo que 404 estaría bien ya que "no se encuentra" y no "archivo no encontrado", pero me pregunto si hay un código mejor para este caso.
fuente
Un código de retorno 404 en realidad significa 'recurso no encontrado' y se aplica a cualquier entidad para la cual se realizó una solicitud pero no se satisfizo. Por lo tanto, funciona igualmente bien para páginas, subsecciones de páginas y cualquier elemento que exista en la página que tenga una solicitud específica para ser renderizado.
Entonces, 404 es el código correcto para usar en este escenario. Tenga en cuenta que no se aplica a "servidor no encontrado", que es una situación diferente en la que se emitió una solicitud pero no se respondió en absoluto, a diferencia de la respuesta pero sin el recurso solicitado.
fuente
404 está bien. Definiciones de código de estado HTTP / 1.1 de RFC2616
fuente
Eso depende de si el ID de usuario es un identificador de recurso o un parámetro adicional. Si es así, está bien devolver 404; de lo contrario, puede devolver otro código como
400 (bad request) ‐ indicates a bad request
o
412 (Precondition Failed) e.g. conflict by performing conditional update
Más información en el libro gratuito InfoQ Explores: REST .
fuente