Day 26 · 4/5
🌿 중급 백엔드

POST와 PUT의 차이

쉽게 이해하기

POST는 은행에서 새 계좌를 만드는 것이고, PUT은 기존 계좌 정보를 수정하는 것이라고 생각하면 됩니다. 계좌 개설은 할 때마다 새 계좌번호가 생기지만(POST), 계좌 주소 변경은 같은 계좌번호로 정보만 바꾸는 거죠(PUT). POST는 생성, PUT은 수정이 핵심입니다.

핵심 정리

POST는 새로 만들 때, PUT은 기존 것을 수정할 때 쓰는 HTTP 메서드입니다.

자세히 알아보기

POST와 PUT은 모두 서버에 데이터를 보내는 HTTP 메서드지만, 용도가 다릅니다. POST는 새로운 리소스를 생성할 때, PUT은 기존 리소스를 수정(업데이트)할 때 사용하는 것이 일반적입니다. 예를 들어 게시글을 새로 작성할 때는 'POST /api/posts'를 쓰고, 기존 게시글을 수정할 때는 'PUT /api/posts/123'을 씁니다. POST의 특징은 요청을 보낼 때마다 새로운 리소스가 생성된다는 것입니다. 같은 데이터로 POST를 두 번 보내면 서버에 같은 내용의 데이터 2개가 생기죠. 반면 PUT은 멱등성(Idempotent)이 있어서, 같은 요청을 여러 번 보내도 결과가 같습니다. 'PUT /api/users/123'으로 사용자 정보를 10번 수정해도, 최종 상태는 같은 거예요. 실무에서는 회원가입은 POST('/api/signup'), 프로필 수정은 PUT('/api/users/me'), 게시글 작성은 POST('/api/posts'), 게시글 수정은 PUT('/api/posts/456') 같은 식으로 구분해서 씁니다. 서버에서는 POST 요청을 받으면 새 ID를 생성해서 데이터베이스에 추가하고, PUT 요청을 받으면 URL에 있는 ID로 기존 데이터를 찾아서 업데이트하죠. PATCH라는 메서드도 있는데, PUT은 전체 데이터를 교체하는 반면 PATCH는 일부만 수정할 때 씁니다. 하지만 많은 API에서는 PUT과 PATCH를 명확히 구분하지 않고, 주로 POST(생성)와 PUT(수정) 두 가지만 사용하는 경우가 많아요.