2014-06-23 3 views
1

필수 매개 변수가없는 경우 http 서비스에서 HTTP 400 (잘못된 요청)을 반환 할 수 있습니까? 내가 주위를 읽을 때 http 400 요청에서 구문 오류를 반환해야합니다 것으로 보이지만이 같은 누락 된 인수를 처리 할 수 ​​있습니까?필요한 매개 변수가없는 경우 http 서비스에서 HTTP 400 (잘못된 요청)을 반환 할 수 있습니까?

+0

가능한 복제본은 [HTTP 400 (잘못된 요청) 논리적 오류, 잘못된 형식의 구문이 아닙니다] (http://stackoverflow.com/questions/4781187/http-400-bad-request-for-logical-error-not -malformed-request-syntax) – Thilo

답변

1

고객의 관점 또는 서버의 관점에서 묻고 있습니까? 클라이언트의 관점에서 볼 때 서버는 어떤 이유로 든 오류를 반환 할 수 있습니다. 그것은 당신의 통제에서 벗어났습니다. 좋은 서버는 요청에 문제가 있다고 생각하기 때문에 요청을 이행하지 않는다는 것을 알려주는 상황에서 오류 400을 반환합니다. 오류 400에 대한 유일한 해결책은 요청을 서버에 읽고 코드에서 요청을 수정하는 것입니다. 필수 매개 변수가 누락 된 경우 서버의 사양을 읽고 코드를 수정해야하므로 오류 400이 적합합니다 (종류).

서버 코드를 작성하는 경우 클라이언트가 사용자에게 문제를보고 할 수있는 의도로 오류가보고되거나 클라이언트가 시도 할 수 있다는 점에 유의하여 항상 가장 적절한 오류를 반환해야합니다. 문제점을 수정하거나 적절하게 처리하거나, 클라이언트가 문제점을 수정하기 위해 코드를 변경해야 할 수도 있습니다. 잘못된 오류 코드를보고하면 클라이언트를 혼동하거나 클라이언트 코드가 서버에 액세스 할 때 해킹을 적용하도록 강제 할 수 있으며 서버 코드가 고쳐질 때 해킹이 중단 될 위험이 있습니다. 즉, 누락 된 필수 매개 변수에 대해 400보다 분명히 정확한 오류 코드를 찾을 수 없습니다.