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

Inflearn Community Q&A

devtalktalk's profile image
devtalktalk

asked

HTTP Web Basics for Every Developer

PUT/POST 실제 차이

Written on

·

325

0

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

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

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

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

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

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

network

Answer 1

2

yh님의 프로필 이미지
yh
Instructor

안녕하세요. HUISOO LEE님

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

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

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

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

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

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

감사합니다.

devtalktalk's profile image
devtalktalk

asked

Ask a question