본문 바로가기

카테고리 없음

HTTP Method

GET: 서버로 부터 데이터를 취득
POST: 서버에 데이터를 추가, 작성 등
PUT: 서버의 데이터를 갱신, 작성 등
DELETE: 서버의 데이터를 삭제
HEAD: 서버 리소스의 헤더(메타 데이터의 취득)
OPTIONS: 리소스가 지원하고 있는 메소드의 취득
PATCH: 리소스의 일부분을 수정
CONNECT: 프록시 동작의 터널 접속을 변경

 

1. GET

: 데이터를 읽거나 검색할 때 사용

idempotent(멱등)하다. 같은 요청을 여러번 하더라도 항상 같은 응답을 받을 수 있다.

데이터를 변경하는 연산에 사용하면 안된다.

데이터 조회에 성공하면 Body 값에 데이터를 저장하여 성공 응답을 보낸다.

캐싱이 가능하며 같은 데이터를 한번 더 조회할 경우 저장한 값을 사용하여 조회 속도가 빨라진다.

2. POST

: 새로운 리소스를 생성할 때 사용

idempotent하지 않다. 같은 요청을 반복했을 때 항상 같은 결과물이 나오는 것을 보장하지 않는다.

두 개의 같은 POST 요청을 보내면 같은 정보를 담은 두 개의 다른 resource를 반환할 가능서잉 높다.

URL을 통해 데이터를 받지 않고 Body 값을 통해 받는다.

데이터 조회에 성공하면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.

3. PUT

: 리소스를 생성/업데이트 하기 위해 서버로 데이터를 보내는데 사용

idempotent 하다. 동일 요청 여러번 호출 시 항상 동일한 결과 생성

URL을 통해 수정할 데이터 파라미터 받는다.

수정할 데이터 값을 Body를 통해서 받는다.

데이터 수정에 성공하면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.

 

4. DELETE

: 지정된 리소스 삭제

URL 통해 삭제할 데이터 파라미터 받는다.

데이터 삭제 성공하면 Body 값 없이 성공 응답만 보낸다.

 

POST 와 PUT은 구분해서 사용해야 한다. POST는 새로운 데이터를 계속 생성하지만 PUT은 사용자가 데이터를 지정하고 수정하는 것이기 때문에 같은 요청을 계속 하더라도 데이터가 계속 생성되지 않는다.