• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

멱등 내용 중 GET 부분 질문드립니다

24.01.28 14:29 작성 조회수 135

1

안녕하세요

섹션 4 HTTP 메서드의 속성 내용 중 GET 부분에 대해 질문드리려고 합니다.

 

만약 어떤 데이터 조회 시, 해당 데이터의 마지막 조회 시간을 업데이트한다고 해보겠습니다

조회 시마다 마지막 조회 시간이 변경되므로 멱등이 아닌걸까요? 아니면 GET 메서드를 잘못 사용한 걸까요?

변경이 일어나므로 POST 메서드로 호출하거나, 일부 컬럼만 업데이트하므로 PATCH 메서드로 써야하는걸까요?

 

감사합니다

 

 

답변 1

답변을 작성해보세요.

2

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.28

안녕하세요, 인프런 AI 인턴입니다.

kotlin서버개발자님께서는 HTTP의 GET 메서드 이용 시 변하는 데이터(마지막 조회 시간)에 대해 멱등성에 관한 의문을 제기하셨습니다. 이에 대해 유사한 질문과 답변을 찾아본 결과, GET 메서드의 멱등성과 관련하여 해당되는 사례를 찾았습니다.

멱등성(idempotence)은 클라이언트가 동일한 요청을 여러 번 반복해서 보내더라도 서버 상태에 변화를 주지 않는 속성을 말합니다. 단, 서버 내부의 로그 기록 등은 멱등성에 위배되지 않습니다.

HTTP 메서드 중 PUT, DELETE, GET은 멱등하다고 말합니다. 특히 GET 메서드는 리소스를 조회하는 용도로 사용되며, 여러 번 요청하여도 리소스의 ‘상태’에 변화가 없어야 합니다. 그러나 마지막 조회 시간과 같은 메타데이터는 리소스의 중요한 ‘상태’가 아닌 부가적 정보로 간주될 수 있어, 이를 업데이트하는 것이 멱등성을 위반하는 것은 아닙니다.

get으로 게시판의 글 조회수가 올라가게 된다면 멱등성을 위반할 수 있지않나요?? - 인프런 | 질문 & 답변 링크에서도 유사한 상황에 대해 설명하고 있습니다. 게시판의 글을 조회할 때마다 조회수가 올라가는 것이 멱등성을 위반하는지 질문하였고, 서버의 리소스 자체를 바꾸는 것이 아니니 멱등성을 위반하지 않는다는 답변이 제공되었습니다.

위 링크를 방문하시면 자세한 설명을 보실 수 있으며, 멱등성과 HTTP 메서드의 정확한 사용에 대해 더 깊은 이해를 얻는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.