내가 처리 한 여러 서버는 클라이언트가 본문에서 '성공 : 거짓'과 같은 실패를 고려해야하는 요청에 대해 HTTP 200을 반환합니다.
이것은 특히 인증에 실패한 경우 HTTP 코드를 올바르게 구현하는 것처럼 보이지 않습니다. '4xx'는 요청이 변경 될 때까지 다시 요청해서는 안된다는 것을 나타내는 반면, '5xx'는 요청이 유효하거나 재시도 할 수 있지만 성공하지 못했음을 나타냅니다. 이 경우 200 : 로그인에 실패했거나 200 : 해당 파일을 찾을 수 없거나 200 : 누락 된 매개 변수 x는 분명히 잘못된 것 같습니다.
반면에 '4xx'는 요청의 구조적 문제 만 나타내야한다는 주장을 알 수 있습니다. 따라서 200을 반환하는 것이 적절합니다. 클라이언트가 요청을 할 수 있기 때문에 401이 아닌 잘못된 사용자 / 암호가 승인되지 않았지만 잘못되었습니다. 이 주장은 서버가 요청을 처리하고 결정을 할 수 있다면 응답 코드는 200이어야하며 추가 정보를 위해 본문을 확인하는 것은 클라이언트의 몫으로 요약 될 수 있습니다.
기본적으로 이것은 선호의 문제인 것 같습니다. 그러나 그것은 불만족 스럽습니다. 따라서 누군가이 패러다임 중 하나가 더 정확한 이유가 있다면 알고 싶습니다.
success: false
요청이 실패했음을 알고 있음을 나타냅니다. 500이되어야합니다. 잘못된 사용자 이름 / 암호와 같은 것은 401입니다. 이것은 모호하지 않습니다.