2013-04-23 2 views
3

소비자에게 다른 요청에 대한 데이터를 반환하는 서비스를 작성하고 있습니다 (예 : 약간 또는 t.co 주소에서 단축되지 않은 URL을 검색하는 경우). 대부분의 상황에서 서버에서받은 코드를 미러링하는 상태 코드를 반환 할 수 있지만 서비스가 요청 된 URL에 연결할 수없는 경우 (예 : 존재하지 않는 경우) 가장 적합한 상태 코드는 무엇입니까? 내가 400 Bad Request 또는 408 Request Timeout을 생각하고 있었지만 여기에 모범 사례가 있습니까?연결 오류로 인해 어떤 상태 코드를 반환해야합니까?

답변

22

503 Service Unavailable이 적절한 선택입니다. 4xx 코드는 클라이언트가 잘못된 것을 나타 내기위한 것입니다. 지정한 경우 서비스 오류입니다.

+0

나의 논리는 * my * 서비스가 정상적으로 작동하지만 클라이언트가 클라이언트의 오류로 인해 존재하지 않는 URL을 요청하려고 시도했기 때문입니다. – Problematic

+1

존재하지 않거나 응답하지 않거나 인터넷 연결이 끊어 지거나 라우팅 테이블이 불안정한 경우 어떻게 알 수 있습니까? 나는 네트워크가 털어 놓을 때 일상적으로 회사 프록시에서 '50x'오류를 얻는다. "서비스를 사용할 수 없음"은 불가 지론입니다. 부적절하게 입력되었거나 원격 서비스에 실제 결함이 있는지 여부는 알 수 없습니다. 그것은 단지 "사용할 수 없음"입니다. – PaulProgrammer

관련 문제