GET

GET 메서드는 특정한 리소스를 가져오도록 요청한다. GET 요청은 데이터를 가져올 때만 사용해야 한다.

 

 

POST

POST 메서드는 서버로 데이터를 전송하여 리소스를 추가하거나 생성하기 위해 사용하는 메서드이다. GET 메서드와 반대로 요청 Header의 Content-Type에 컨텐츠 타입을 명시하며, HTTP 패킷의 Body에는 데이터를 담아 서버로 전송한다. 

 

 

PUT

PUT 메서드는 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체한다. 즉 PUT 메소드는 문서 전체의 완전한 교체만을 허용한다. PUT과 POST의 차이는 멱등성으로, PUT 메서드는 멱등성을 가진다. 이는 한 번을 보내도, 여러 번을 연속으로 보내도 같은 효과를 보인다는 뜻이다.

 

 

PATCH

PATCH 메소드는 리소스의 부분적인 수정을 할 때 사용된다. PATCH 메서드는 멱등성을 가지지 않는데, 이는 동일한 patch 요청이 다른 결과를 야기할 수도 있음을 뜻한다. 하지만 PATCH를 PUT과 같은 방식으로 사용함으로써 멱등성을 가지게 할 수도 있다.

 

 

* 멱등성이란, 수학에서 사용하는 용어에서 유래한 것으로. 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 뜻한다. 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 한다. 다른 말로는, 멱등성 메서드에는 통계 기록 등을 제외하면 어떠한 부수 효과(side effect)도 존재해서는 안된다는 뜻이다.

GETHEADPUTDELETE 메서드는 멱등성을 가지며, POST 메서드는 그렇지 않다.

 

 

 

 

'TIL > WEEK1' 카테고리의 다른 글

WEEK 1. 드디어 첫 프로젝트 끝!  (0) 2023.05.19
WEEK1. PUT방식으로 수정기능 구현  (0) 2023.05.17
WEEK1. REST API  (0) 2023.05.16
WEEK1. Git  (0) 2023.05.15

+ Recent posts