작성
·
225
0
같은사용자가 get으로 데이터를 요청하고
같은사용자가 put으로 데이터를 변경하고
같은사용자가 다시 get으로 요청하면
멱등이 아니지 않나요..?
답변 1
4
안녕하세요. 원석나님
강의 중간에 해당 부분을 설명드리는데요. 보충해드리자면 멱등이라는 것은 같은 사용자가 요청한다는 전제가 있습니다.
다른 사용자가 중간에 데이터를 변경하는 것 까지 멱등의 판단으로 포함한다면 사실 멱등이라고 할 수 있는게 하나도 없게 되지요.
감사합니다.
원석나님, 정확한 지식이 아닐지도 모르겠지만 개인적인 생각을 남겨볼게요.
사용자 1이 GET 을 요청해서 값을 받은 뒤, 사용자 2가 PUT 으로 리소스를 수정합니다. 그리고 사용자 1이 다시 GET 을 요청했을 때 바뀐 값을 받지만 멱등이 유지됩니다. <- 사용자 1이 GET 을 반복적으로 요청하는 동안에 외부 사용자로 인해 중간에 값이 변경됨. 강사님이 설명하신대로 멱등.
이 상황이 원석나님이 질문 하신 내용인데요. 사용자 1이 GET 을 요청하고 난 뒤, 스스로 PUT 을 요청해서 값을 변경합니다. 그러고나서 사용자 1이 GET 을 요청하고 다른 값을 받습니다. <- 예를 들어 사용자 1 이 GET 10번, PUT 10번 다시 GET 10번을 요청했다고 가정 해봅시다. 사용자 1이 처음에 GET 을 10번 요청하는 동안 멱등이 유지됩니다.(같은 값을 받기 때문) 그리고 PUT 을 10번 실행하는 동안에도 멱등이 유지가 됩니다.(이미 GET 을 보내는 행위는 종료되어서 서로 독립 적입니다.) 마지막으로 GET 을 10번 요청했을 때에도 마찬가지로 멱등입니다. 한번 했다가 다시 요청이 바뀌어서 헷갈릴 수도 있다고 생각하는데 한번이 아니라 10번이라고 가정하면 이해하기 쉬울 것 같습니다. 결론 : GET 과 PUT 은 멱등입니다.
제 답변에 오류가 있다면 누군가 알려주시면 감사하겠습니다!
이렇게 이해하기 쉽게 설명해주셔서 너무 감사합니다 ㅠㅠ
말씀하신데로 독립하다는 점 이 부분이 핵심이네요 !!
시간이 많이 지났지만 순간적으로 이해가 가네요 ㅎㅎ
답변 너무 감사드립니다!
저는 모두 같은 사용자라고 전제하였습니다 !...