인프런 커뮤니티 질문&답변

원석나님의 프로필 이미지
원석나

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP 메서드의 속성

리소스가 대체가 되어버린경우

작성

·

225

0

같은사용자가  get으로 데이터를 요청하고 

같은사용자가  put으로 데이터를 변경하고

같은사용자가 다시 get으로 요청하면  

멱등이 아니지 않나요..?

답변 1

4

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 원석나님

강의 중간에 해당 부분을 설명드리는데요. 보충해드리자면 멱등이라는 것은 같은 사용자가 요청한다는 전제가 있습니다.

다른 사용자가 중간에 데이터를 변경하는 것 까지 멱등의 판단으로 포함한다면 사실 멱등이라고 할 수 있는게 하나도 없게 되지요.

감사합니다.

원석나님의 프로필 이미지
원석나
질문자

저는 모두 같은 사용자라고 전제하였습니다 !...

원석나님, 정확한 지식이 아닐지도 모르겠지만 개인적인 생각을 남겨볼게요.

  1. 사용자 1이 GET 을 요청해서 값을 받은 뒤, 사용자 2가 PUT 으로 리소스를 수정합니다. 그리고 사용자 1이 다시 GET 을 요청했을 때 바뀐 값을 받지만 멱등이 유지됩니다. <- 사용자 1이 GET 을 반복적으로 요청하는 동안에 외부 사용자로 인해 중간에 값이 변경됨. 강사님이 설명하신대로 멱등.

     

  2. 이 상황이 원석나님이 질문 하신 내용인데요. 사용자 1이 GET 을 요청하고 난 뒤, 스스로 PUT 을 요청해서 값을 변경합니다. 그러고나서 사용자 1이 GET 을 요청하고 다른 값을 받습니다. <- 예를 들어 사용자 1 이 GET 10번, PUT 10번 다시 GET 10번을 요청했다고 가정 해봅시다. 사용자 1이 처음에 GET 을 10번 요청하는 동안 멱등이 유지됩니다.(같은 값을 받기 때문) 그리고 PUT 을 10번 실행하는 동안에도 멱등이 유지가 됩니다.(이미 GET 을 보내는 행위는 종료되어서 서로 독립 적입니다.) 마지막으로 GET 을 10번 요청했을 때에도 마찬가지로 멱등입니다. 한번 했다가 다시 요청이 바뀌어서 헷갈릴 수도 있다고 생각하는데 한번이 아니라 10번이라고 가정하면 이해하기 쉬울 것 같습니다. 결론 : GET 과 PUT 은 멱등입니다.

제 답변에 오류가 있다면 누군가 알려주시면 감사하겠습니다!

원석나님의 프로필 이미지
원석나
질문자

이렇게 이해하기 쉽게 설명해주셔서 너무 감사합니다 ㅠㅠ

말씀하신데로 독립하다는 점 이 부분이 핵심이네요 !!

시간이 많이 지났지만 순간적으로 이해가 가네요 ㅎㅎ

답변 너무 감사드립니다!

원석나님의 프로필 이미지
원석나

작성한 질문수

질문하기