HTTP Methods §
- HTTP Method 는 client 가 server 에게 요청하는 “동작” 을 의미한다.
종류 §
Common methods §
GET
: 특정 데이터의 표현(데이터 자체가 아닌 데이터에 대한 정해진 형식의 표현)를 얻기 위하여 사용하는 메소드
- 특징1: 안전한 (safe) 메소드로 분류된다
- 특징2: (확실하지는 않으나) Request body 를 사용할 수 없고 path 과 query 으로만 조회하고자 하는 데이터를 특정해야 한다.
- 이때문에 민감한 정보를 서버에 보낼 때에는 권장되지 않는다.
- 특징3: 캐싱을 사용하기 때문에 캐싱을 사용하지 않는 요청에는 적합하지 않음
POST
: 특정 자원에 대한 데이터를 서버에 저장하기 위해 사용하는 메소드
- 특징1: 서버의 상태(저장 상태)가 바뀐다.
- 특징2: 따라서 서버에 부작용을 미칠 가능성이 있다.
- 특징3: 멱등성을 보장하지 않는다.
PUT
: 요청한 자원에 대한 데이터를 전부 교체 (replace, overwrite) 한다. 자원을 찾지 못하면 새로 생성한다.
DELETE
: 요청한 자원을 삭제한다.
PATCH
: 요청한 자원에 대한 데이터를 부분적으로 수정한다.
Uncommon methods §
HEAD
: GET 과 동일하지만, Response body 가 제외된다. 즉, GET 과 동일하지만 Response header 만을 얻고자 할 때 사용된다.
CONNECT
: 요청한 자원에 대한 터널 (?) 을 생성한다.
OPTIONS
: 요청한 자원에 대한 통신 옵션을 제공한다.
- 즉, 해당 자원에 대해 사용할 수 있는 HTTP Method 들을 조회하는데 사용된다.
TRACE
: 요청한 리소스에 대해 loop-back 테스트를 진행한다.