HTTP 메서드 종류
주요 메서드
- GET : 리소스 조회
- POST : 요청 데이터 처리(주로 등록에 사용)
- PUT : 리소스를 대체, 해당 리소스가 없으면 생성
- PATCH : 리소스 부분 변경
- DELETE : 리소스 삭제
기타 메서드
- HEAD : GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
- OPTIONS : 대상 리소스에 대한 통신 가능 옵션을 설명
- CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정
- TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
GET
- 리소스 조회
- 서버에 전달하고 싶은 데이터는 쿼리 파라미터/쿼리 스트링을 통해 전달
POST
- 요청 데이터 처리
- 메시지 바디를 통해 서버로 요청 데이터 전달
- 서버는 요청 데이터를 처리
- 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행
- 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리 등에 사용
- 리소스 URI이 POST 요청이 오면 요청 데이터를 어떻게 처리할지 리소스 마다 구현 필요
- 사용
- 새 리로스 생성(등록)
- 서버가 아직 식별하지 않은 새 리소스 생성
- 요청 데이터 처리
- 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야 하는 경우(결제완료-배달시작-완료)
- POST의 결과로 새로운 리소스가 생성되지 않을 수도 있음
- 다른 메서드로 처리하기 애매한 경우
- JSON으로 조회 데이터를 넘겨야 하는데 GET 메서드를 사용하기 어려운 경우 등
- 새 리로스 생성(등록)
PUT
- 리소스를 대체
- 해당 리소스가 있으면 완전히 대체, 없으면 생성
- 클라이언트가 리소스를 식별(클라이언트가 리소스 위치를 알고 URI 지정)
- ex. PUT /members/100 HTTP/1.1
- POST와 차이점 : POST /members
PATCH
- 리소스 부분 변경
- PUT과의 차이
- 클라이언트가 리소스를 식별(클라이언트가 리소스 위치를 알고 URI 지정)
- ex. PATCH /members/100 HTTP/1.1
DELETE
- 리소스 제거
- 클라이언트가 리소스를 식별(클라이언트가 리소스 위치를 알고 URI 지정)
- ex. DELETE /members/100 HTTP/1.1
(REF.인프런)