Skip to content

HTTP 주요 Method 정리

CRUD와 GET, POST, PUT, DELETE, PATCH


1. CRUD와 HTTP Method

GET

GET은 특정 정보를 요청하기 위한 method로 Read를 수행하기 위해 사용한다.

POST

POST는 Create를 수행하기 위해 사용한다. Create를 위한 데이터는 HTTP 메시지의 body 부분에 담겨서 전송되며, 일반적으로 HTML의 <form> 태그를 통해 전송된다.

PUT

PUT은 Create와 Update를 수행하기 위해 사용되는 method로 request payload를 통해 데이터를 전송한다.

Note

POSTPUT의 가장 큰 차이점은 멱등성(Idempotent)1의 충족 여부이다. PUT은 멱등성을 충족하나 POST는 멱등성을 충족하지 않는다.

PATCH

PATCH는 Update를 수행하기 위해 사용하는 method로 데이터의 일부만 수정할 때 사용하며, 대부분의 경우에 PUT으로 대체 가능하기 때문에 굳이 사용하지는 않는 경우가 많다.

Note

PATCH는 반드시 멱등적이어야 하는 PUT과는 달리, 멱등적일수는 있지만 멱등적일 필요는 없다. 따라서 잘못된 PATCH의 사용은 POST와 마찬가지로 다른 리소스에 의도치 않은 부작용을 발생시킬 수 있다.

DELETE

DELETE는 Delete를 수행하기 위해 사용되는 method이다.

2. 주요 Method 비교

Method 의미 CRUD Request Body 안정성 멱등성 HTML form 전송
GET 리소스 요청 Read X O O O
POST 리소스 생성 Create O X X O
PUT 리소스 갱신, 생성 Update, Create O X O X
PATCH 리소스 일부 갱신 Update O X X X
DELETE 리소스 삭제 Delete X O X

Reference


  1. 멱등성이란 수학의 함수와 같이 input이 일정하면 output도 일정한 성질을 말한다.