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
POST
와 PUT
의 가장 큰 차이점은 멱등성(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¶
-
멱등성이란 수학의 함수와 같이 input이 일정하면 output도 일정한 성질을 말한다. ↩