인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

CodingSoon님의 프로필 이미지

작성한 질문수

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

PUT/POST 실제 차이

작성

·

331

0

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

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

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

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

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

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

답변 1

2

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

안녕하세요. HUISOO LEE님

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

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

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

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

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

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

감사합니다.