강의

멘토링

커뮤니티

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

CodingSoon님의 프로필 이미지
CodingSoon

작성한 질문수

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

PUT/POST 실제 차이

작성

·

344

0

put 메소드는 한정된 리소스를 일부 수정하고 그 전체 값을 대체할 때 사용한다고 이해했습니다.

그런데, 제 머리 속에는 서버에 메소드를 전달하여 데이터 처리를 하는 것이

쿼리를 수행하는 것으로 느껴집니다.

예를 들어 1번 유저의 정보를 수정한다고 가정할 시

put/post 메소드 모두 같은 쿼리가 수행 될 것 같습니다.

그렇다면, put과 post의 차이는 pathvariable 사용여부의 차이 일까요?

답변 1

2

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

안녕하세요. HUISOO LEE님

put 메소드는 한정된 리소스를 일부 수정하고 그 전체 값을 대체할 때 사용한다고 이해했습니다.

-> put 메소드는 일부 수정이 아니라 해당 리소스 전체를 다 대체하는 목적으로 사용합니다.

반면에 POST는 전체 리소스를 수정해도 되고, 일부 리소스를 수정해도 됩니다. 서비스를 구현하는 입장에 따라 다릅니다.

PUT은 스펙이 전체 리소스를 변경하는 것이 목적이고, POST는 더 넓은 범위에서 구현을 자유롭게 하면됩니다.

따라서 실제 구현은 같을 수도 있고, 다를 수도 있습니다.

그리고 POST와 PUT은 조심할 점이 있는데, PUT은 멱등이 되도록 구현해야하고, POST는 멱등이어도 되고, 멱등이 아니도록 구현해도됩니다.

감사합니다.

CodingSoon님의 프로필 이미지
CodingSoon

작성한 질문수

질문하기