HTTP 메서드
HTTP는 요청 메서드라는 것을 통해 주어진 리소스에 수행하길 원하는 행동을 나타낸다.
HTTP 메서드 종류
GET
: 리소스 조회POST
: 요청 데이터 처리, 주로 등록에 사용PUT
: 리소스 대체, 해당 리소스가 없으면 생성PATCH
: 리소스 부분 변경DELETE
: 리소스 삭제HEAD
: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환CONNECT
: 대상 자원으로 식별되는 서버에 대한 터널을 설정OPTIONS
: 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)TRACE
: 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
(GET
, POST
, PUT
, PATCH
, DELETE
가 주로 사용된다.)
GET
- 주로 데이터를 읽거나 검색할 때 사용
- 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달
- 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 않음
POST
- 주로 새로운 리소스를 생성할 때 사용
- 메시지 바디를 통해 서버로 요청 데이터 전달
POST는 주로 새로운 리소스 생성에 사용한다고 하였지만 그 외에도 다양한 곳에 사용된다. 그렇기 때문에 POST는 정해진 것 없이 요청 데이터를 어떻게 처리할지 리소스마다 따로 정의하는 것이 좋다.
- 사용 예시
- 새로운 리소스 생성
- 요청 데이터 처리 (주문에서 결제완료로 상태 변경과 같은 프로세스 처리가 필요한 경우)
- 다른 메서드로 처리하기 애매한 경우
PUT
- 리소스를 생성 / 업데이트하기 위해 사용
- 리소스가 있으면 대체, 없으면 생성
POST
와 차이점은PUT
은 클라이언트가 리소스 위치를 알고 URI를 지정(클라이언트가 리소스를 식별)
PATCH
- 리소스 부분 변경
DELETE
- 리소스 제거
Comments powered by Disqus.