GET
리소스 조회
- 전달하고 싶은 데이터는 쿼리스트링를 통해서 전달
- 쿼리스트링 외에 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 서버에서 따로 구성해야 되기 때문에 지원하지 않는 곳이 많아서 권장하지 않음
- 조회할 때 POST도 사용할 수 있지만, GET 메서드는 캐싱이 가능하기에 GET을 사용하는 것이 유리
- 여러 번 실행하더라도 같은 결과가 나오므로, 멱등성(idempotent)을 가짐
HEAD
메시지 Body부분을 제외하고 상태 줄과 헤더만 반환
- 서버에서 리소스의 헤더 정보만을 가져오기 위해 사용
- GET 메소드와 유사하지만, 리소스의 본문을 가져오지 않음
- 보통 웹 사이트의 상태를 체크할 때 사용됩니다.
POST
요청 데이터 처리, 주로 생성에 사용
- 서버로 데이터를 제출하기 위해 사용
- 요청한 데이터를 HTTP 요청 본문에 담아 전송
- 보통 HTML 폼을 통해 데이터를 제출하거나, REST API에서 새로운 리소스를 생성할 때 사용됩니다.
PUT
리소스를 대체(덮어쓰기) 해당 리소스가 없으면 생성 주로 수정에 사용
- 서버에서 존재하는 리소스를 업데이트하기 위해 사용되는 메소드입니다.
- 요청한 데이터를 HTTP 요청 본문에 담아 전송합니다.
- REST API에서 존재하는 리소스를 업데이트할 때 사용됩니다.
- 여러 번 실행하더라도 같은 결과가 나오므로, 멱등성(idempotent)을 가짐
DELETE
리소스 삭제
- 서버에서 존재하는 리소스를 삭제하기 위해 사용되는 메소드입니다.
- 요청한 데이터를 HTTP 요청 본문에 담아 전송하지 않습니다.
- REST API에서 존재하는 리소스를 삭제할 때 사용됩니다
- 여러 번 실행하더라도 같은 결과가 나오므로, 멱등성(idempotent)을 가짐
CONNECT
대상 자원으로 식별되는 서버에 대한 터널을 설정
- 클라이언트와 서버 간에 프록시 터널을 설정하기 위해 사용되는 메소드입니다.
- 보통 SSL/TLS와 같은 보안 프로토콜을 사용하는 경우에 사용됩니다.
OPTIONS
대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)
- 서버에서 사용 가능한 메소드와 기능을 확인하기 위해 사용되는 메소드입니다.
- OPTIONS 요청을 보내면 서버는 해당 리소스에서 지원하는 메소드와 기능을 반환합니다.
- 보통 REST API에서 사용 가능한 메소드와 기능을 확인하기 위해 사용됩니다.
TRACE
- 서버로 보낸 요청과 그에 대한 응답을 확인하기 위해 사용되는 메소드입니다.
- TRACE 요청을 보내면 서버는 해당 요청과 응답을 반환합니다.