Estou curioso para saber qual é o código de status HTTP mais apropriado para uma página "o item não existe".
Se a página em si não existir, obviamente usarei 404. No entanto, uma das minhas páginas tem um userid
argumento (é uma página de "editar usuário") e, caso não exista nenhum usuário com o ID de usuário fornecido, estou exibindo um página de erro, mas também gostaria de enviar um cabeçalho de status 4xx (já que "200 OK" realmente não se encaixa).
Acho que o 404 estaria ok, já que é "não encontrado" e não "arquivo não encontrado", mas gostaria de saber se há um código melhor para este caso.
fonte
Um código de retorno 404 realmente significa 'recurso não encontrado' e se aplica a qualquer entidade para a qual uma solicitação foi feita, mas não satisfeita. Portanto, funciona igualmente bem para páginas, subseções de páginas e qualquer item que exista na página que tenha uma solicitação específica a ser processada.
Portanto, 404 é o código certo a ser usado neste cenário. Observe que não se aplica a 'servidor não encontrado', que é uma situação diferente em que uma solicitação foi emitida, mas não foi respondida, ao contrário de respondida, mas sem o recurso solicitado.
fonte
404 está muito bem. Definições de código de status HTTP / 1.1 de RFC2616
fonte
Isso depende se o ID do usuário é um identificador de recurso ou parâmetro adicional. Se for, não há problema em retornar 404; caso contrário, você pode retornar outro código como
400 (bad request) ‐ indicates a bad request
ou
412 (Precondition Failed) e.g. conflict by performing conditional update
Mais informações em InfoQ Explores grátis : livro REST .
fonte