• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

PUT, PATCH method 관련 질문

24.02.24 20:55 작성 조회수 229

0

HTTP method 중 put과 patch에 대해서 공부하고 아 그렇구나~ 하는 와중 갑자기 뜬금없는 질문이 떠올라서 질문드립니다.

 

put은 내용 전체를 덮어쓰는 method이고 patch는 일부만 수정이 가능한 method 라고 배웠는데, 이것도 결국 http request를 backend상에서 어떻게 처리를 하느냐에 따라 달라지는 것 아닌가요? patch request를 받았다고 한들 backend단에서 데이터를 지우고 덮어쓰는 로직을 작성하면 put method와 같은 동작이 되는 것 아닌가요..? 그냥 backend 로직 구현은 염두하지 않고 그냥 그렇게 사용하기로 약속을 한 것인지 궁금합니다.

 

이상한 질문일수도 있지만 갑자기 문득 생각나서 질문 올려봅니다.

 

감사합니다.

답변 2

·

답변을 작성해보세요.

1

codesweaver님의 프로필

codesweaver

2024.02.25

안녕하세요. parkm2ngyu00님, 공식 서포터즈 코즈위버 입니다.

말씀하신 내용이 맞습니다. PUT, PATCH 메서드에 대한 스펙은 표준으로 정의된 내용입니다.

그러나 실제로는 백엔드에서 어떻게 구현하냐에 따라 스펙 표준과 다른 결과를 낳을 수 있습니다.

가령 API 중에서는 조회는 GET, 그 외는 POST 하나로 통일하고 나머지 HTTP 메서드는 사용을 금지하는 경우도 있습니다.

감사합니다.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.24

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

parkm2ngyu00님의 질문에 대해, 유사한 내용을 다루는 기존의 질문들 중 관련성이 높은 답변을 찾아본 결과를 공유드립니다.

“put과 patch에 대해 질문드립니다”
- 이 게시물에서는 put과 patch의 차이점에 대해 설명하고 있습니다. 질문자의 경우, 게시판 글 수정과 같은 상황에서 put과 patch 중 어느 것을 사용해야 할지에 대한 혼란을 겪고 있습니다. 같은 강의의 지식공유자 김영한 님이 답변에서 put은 모든 데이터를 전달해야 한다는 스펙을 가지고 있으며, patch는 원하는 값만 전달해서 변경할 수 있다고 설명하고 있습니다. 실제로 여러 상황에서 patch가 적합한 경우가 있다고 합니다. 이 내용은 parkm2ngyu00님의 질문에 대한 이해를 돕는 데 유용할 것입니다.

“안녕하세요. 질문 드립니다!”
- 여기에서는 HTTP 메서드인 PUT과 PATCH에 대해 제시된 스펙이나 정의가 실제 메서드의 기능인지, 아니면 가이드인지에 대한 의문이 제기되었습니다. 지식공유자 김영한 님은 이에 대해 HTTP 메서드 스펙에 대해 설명하고, 웹 서버와 브라우저가 기본 기능을 어떻게 처리하는지에 대해서도 논의하였습니다. 이는 백엔드가 구현하는 방식에 따라 기능이 달라질 수 있음을 나타내는 예시로, parkm2ngyu00님의 궁금증에 부합합니다.

“PUT, PATCH 관해서 질문 드립니다.”
- 다른 수강생이 PUT과 PATCH 사용에 대해 일반적으로 PATCH가 더 많이 사용되는지에 대해 질문한 글입니다. 공식 서포터즈의 답변에서는 API 사용 시 대부분 GET, POST를 사용하고, PUT은 리소스 교체 같은 경우에 주로 사용하는 경향이 있다고 언급합니다. 이는 PUT과 PATCH의 사용 상황에 대한 보다 구체적인 이해를 제공할 수 있습니다.

이 외에도 다음 URL에 있는 내용이 유용할 수 있습니다.
“rest api를 만드려고 할 때 put과 patch”
- 이 글에서는 게시물 수정, 회원 정보 수정과 같은 기능 구현 시 PUT과 PATCH 중 어떤 메서드를 더 많이 사용하는지에 대한 질문이 나옵니다. 서포터즈가 답변한 내용은 HTTP 메서드의 스펙과 실제 구현 방식의 차이에 대해 설명하고 있으며, 이 내용은 백엔드 로직 구현에 대한 질문자님의 궁금증에 대한 답변을 찾을 때 참고가 될 것입니다.

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