GET: 리소스 획득
- 주로 리소스(데이터)를 읽거나 검색하는 용도로 사용한다.
- 바디에 데이터를 담을 수 없고, url 뒤에 QueryParam 형태로 보낸다.
- 요청이 성공적으로 반환되면 200(OK) 상태코드가 내려온다.
- Get 요청은 Idempotent(멱등)하기 때문에 여러 번 요청을 보내도 매번 같은 응답을 받는다.
POST : 리소스 생성
- 일반적으로 리소스를 생성할 때, POST를 사용한다.
- url에 데이터를 같이 보내지않고, Request Body에 담아서 보내기 때문에 데이터가 외부로 노출될 확률이 적다.
- 메세지 길이는 제한이 없다.
- 요청이 성공적으로 반환되면 201(Created) 상태코드가 내려온다.
- Post 요청은 Idempotent(멱등)하지 않기 때문에 여러 번 요청을 보낼 수 없다.
PUT : 리소스 대체/업데이트
- 리소스를 통째로 대체하거나 업데이트하는 용도로 사용한다.
- 대체하고자 하는 리소스 식별자를 URL에 포함시켜야 한다.
- Put 요청은 Idempotent(멱등)하다.
- 요청이 성공하면 2xx 번대 코드를 내려보낸다.
PATCH : 리소스 부분 수정
- 리소스를 부분적으로 수정하는 용도로 사용한다.
- 대체하고자 하는 리소스 식별자를 URL에 포함시켜야 한다.
- Patch 요청은 Idempontent(멱등)하지 않다.
- 요청이 성공하면 2xx 번대 상태코드를 내려보낸다.
DELETE : 리소스 삭제
- 리퀘스트 URI로 지정된 리소스를 삭제한다.
- Delete 요청은 Idempotent(멱등)하다.
- 요청이 성공하면 2xx 번대 상태코드를 내려보낸다.
HEAD : 메시지 헤더 획득
- GET과 같은 기능이지만 메시지 바디는 돌려주지 않는다.
- URI 유효성과, 리소스 갱신 시간을 확인하는 용도로 사용된다.
OPTIONS : 제공하고 있는 메소드의 문의
- OPTIONS 메소드는 리퀘스트 URI로 지정한 리소스가 제공하고 있는 메소드를 조사하기 위해 사용된다.