320x100
320x100

멱등성

: 첫번째 수행과 그 이후에 수행한 결과가 모두 동일한 속성

 

- HTTP 메서드의 멱등성

: GET은 여러번 호출해도 같은 결과가 돌아오고 리소스에 변화를 일으키지 않기 때문에 멱등성이 보장된 메소드

: PUT 또한 여러번 호출해도 매번 같은 리소스로 업데이트 되기 때문에 멱등성이 보장된 메소드이다

: DELETE도 여러번 호출해도 삭제된 리소스에 대한 결과가 달라지지 않는다

: POST, PATCH의 경우 호출할때마다 응답이 달라지기 때문에 멱등한 메서드가 아니다. 이러한 메서드에 멱등성을 제공하려면 서버에서 멱등성을 구현해야한다

 

- API 관점

: 멱등한 API라면 두 번 이상 요청해도 결과는 처음 요청과 동일

: 돌아온 값이 같을 뿐만 아니라 서버상태(DB)에도 영향을 미치지 않음

 

 

 

 

 

API의 멱등성을 보장하는 방법

: 멱등키를 API 요청에 포함한다

: 이전 요청과 동일한 멱등키를 가진 요청을 받으면 서버에서는 이 요청을 중복으로 판단한 뒤 실제로 처리하지 않고 첫 요청과 같은 응답을 반환

: 요청 본문, URL 쿼리 매개변수, 헤더 중 하나에 멱등키를 포함해서 보내는데, IETF에서는 헤더에 포함하는 방법을 표준으로 제안

 

 

 

Reference

 

멱등성이 뭔가요?

생소한 표현이지만 알고 보면 쉬워요. 컴퓨터 과학에서 멱등하다는 것은 첫 번째 수행을 한 뒤 여러 차례 적용해도 결과를 변경시키지 않는 작업 또는 기능의 속성을 뜻해요. 즉, 멱등한 작업의

blog.tossbusiness.com

 

300x250
728x90