코드 잡동사니

HTTP 응답 코드 본문

스프링

HTTP 응답 코드

세객 2019. 7. 7. 11:32

200 - (OK) PUT, POST, DELETE 메소드로 각각 생성, 갱신, 삭제 작업 성공적으로 마침, 요청 데이터가 응답에 포함되어 리턴

201 - (Created) PUT 메소드로 리소스가 생성되었다. 응답에 리소스의 Location 헤더가 포함되어 있어야 한다.

204 - (No Content) DELETE, POST, PUT 메소드를 사용하여 요청 처리했지만, 클라이언트에게 응답으로 보내줄 정보가 없을 떄 사용

202 - (Accepted) 서버에서 처리가 아직 완료되지 않아 응답을 보류한 상태로 비동기 요청 시 쓰인다. 클라이언트 측에서 요청을 모니터링 할 수 있도록 리소스의 Location 헤더를 리턴해야 한다. 

 

301 - (Permanent) 모든 요청이 새로운 경로로 리다이렉트되었다. 

302 - (Found) 리소스가 이미 존재하고 유효하다

304 - (Not Modified) 변경사항이 없다. 정확히는 오류가 아니다 상태 코드이다

 

401 - (Unauthorized) 크리덴셜에 문제가 있어 요청을 처리 할 수 없다. 

404 - (Not Found) 리소스를 찾을 수 없다. 인증되지 않은 요청에 의한 정보 유출을 막기 위해서도 이 응답을 보내는 것이 좋다. 

406 - (Not Acceptable) 클라이언트가 지정한 MIME 타입으로 리소스가 응답할 수 없다. Accept 헤더에 지정된 MIME 타입이 리소스 메소드/클래스의 @Produces 어노테이션으로 지정된 미디어 타입에서 찾을 수 없다.

415 - (Unsupported Media Type) 클라이언트가 전송한 미디어 타입을 리소스가 사용할 수 없다. Content-Type 헤더에 지정된 MIME 타입이 리소스 메소드/클래스의 @Consumes 어노테이션으로 지정된 미디어 타입에서 찾을 수 없다. 

420 - (Enhance Your Calm - 출처 트위터) 클라이언트가 사용량 제한에 걸렸을 떄 트위터 Search and Trends API 가 리턴하는 HTTP 응답 코드, 표준으로는 429 하는게 낫다는

429 - (Too May Request RFC 6585) 유저가 단위 시간당 너무 많은 요청을 보냈다. 이 에러 코드는 사용량 제한을 목적으로 사용함 - 헤더 Retry-After: x초 후에 클라이언트가 재시도, X-RateLimit-Limit: 일정 기간 동안 클라이언트가 할 수 있는 최대 요청 개수, X-RateLimit-Remaining: 현재 사용량 제한 세션에 남아 있는 요청 개수

 

500 - (Internal Server error) 정확한 원인은 알 수 없지만, 서버 측에서 에러가 발생했을 때 보내는 일반적인 응답 코드다.

503 - (Service Unavailable) 서버가 점검 중이건나 처리 부하가 극심하여 현재 요청을 처리할 수 없는 상태다. 

 

위 어노테이션 설명은 스프링에 있지 않다. 내용만 보자

 

스프링에서는 이런 식으로 리턴 해주자

return new ResponseEntity(obj, HttpStatus.ACCEPTED);
Comments