Engineering Note

[Network] HTTP 메서드 POST, PUT, PATCH 본문

Computer Science/Network

[Network] HTTP 메서드 POST, PUT, PATCH

Software Engineer Kim 2025. 7. 16. 18:36

HTTP 메세지에는 요청 라인에는 요청 메서드가 들어간다. 요청 메서드는 서버에게 무엇을 '어떻게'라는 요청에서 '어떻게'에 해당하는 역할을 한다.

 

데이터를 수정할 때 사용하는 POST, PUT, PATCH 차이를 정리하려고 한다.

 

POST는 기본적으로 클라이언트에서 데이터를 서버에 전송해서 추가하고 싶을 때 사용한다. 가령, 게시판에 글을 올리거나 하는 등 작성한 내용을 서버에 전송해서 추가할 때 주로 사용하지만, 수정이나, 삭제할 때도 사용할 수 있다.

POST가 데이터를 추가하는데 사용하는 게 기본이라면, PUT과 PATCH는 기본적으로 수정을 하는 메서드이다. 하지만 차이가 있다. PUT은 데이터 전체를 수정하고 싶을때, PATCH는 일부만 수정하고 싶을 때 사용할 수 있다. 예를 들어서, PUT으로 요청 메세지를 보내면 닉네임만 바꾸고 싶다고 요청했지만, 생년월일 등 다른 모든 데이터가 바뀔 수 있다. 이와 달리, PATCH는 닉네임 수정 요청을 보내면 닉네임만 수정된다.

 

 

안정성

- 클라이언트가 요청을 해도 서버의 자원이 변하지 않는 특성

- ex)GET, HEAD, OPTIOS

- GET메서드는 서버에 요청을 보내도 서버의 자원에 영향을 주지 않으며 클라이언트가 요청한 데이터를 조회해서 응답해주기만 한다.

 

 

멱등성(idempotent)

- 연산을 여러 번 적용해도 겨로가가 달라지지 않는 현상

- ex) GET, HEAD, PUT, DELETE, OPTIONS

- GET 메서드는 요청을 한 번 보냈을 때와, 100번 보냈을 때 모두 서버 자원의 상태를 변화시키지 않는다.

- PUT은 기존 데이터를 대체하는 메서드로 특정 데이터만 수정한다.

 

 

Comments