📌 HTTP method란?
HTTP method는 주어진 리소스에 대해 수행해 주기를 바라는 동작이다.
클라이언트가 HTTP method명시하고 서버에게 요청하면 서버는 해당 HTTP method 동작을 수행한다.
예를 들어 'GET /items' 는 "아이템목록들에 대한 정보를 조회하고 싶으니 정보를 가져와줘"라는 의미를 가지고 있다.
📌 HTTP method의 종류
서버는 필요한 HTTP method의 동작에 대해 구현할 수 있고, 별도로 HTTP method를 확장해서(커스텀해서) 사용할 수 도 있다.
아래는 대표적으로 사용하는 HTTP method의 종류이다.
- GET
- 서버에게 리소스 조회를 요청하기 위해 사용된다.
- POST
- 입력된 데이터를 서버에 전송하면, 서버는 해당 데이터를 처리한다.
- PUT/PATCH
- PUT은 클라이언트가 요청한 본문을 가지고 새로운 문서를 만들거나, 혹은 기존의 문서가 존재한다면 전체를 새로 덮어쓴다. 반면에 PATCH는 PUT과는 다르게, 기존의 문서가 존재한다면 요청한 데이터만 부분적으로 업데이트 하는 방식이다.
- DELETE
- 요청한 리소스를 제거할 때 사용한다.
- HEAD
- 서버에게 GET처럼 리소스를 요청하면 서버는 응답메세지의 '본문'은 반환하지 않고, 오로지 '헤더'만 반환한다. 헤더속의 다양한 정보를 통해 리소스가 존재하는지, 리소스가 변경되었는지 등에 대해 알 수 있다.
- TRACE
- 요청메세지는 중간의 프록시서버등 여러 서버를 거쳐서 최종 서버에 도달할 수 있다. 이때 최종 서버에 도착한 요청 메세지가 어떻게 변하였는지를 추적하기 위해 최종 서버에 도착한 요청메세지 전체를 그대로 본문에 담아서 응답해 준다.
- OPTIONS
- 서버가 어떤 HTTP method를 수행할 수 있는지 확인한다. 응답에서 사용가능한 ex) 'GET, POST, PUT' 메서드를 알려준다.
이렇게 다양한 종류의 HTTP method를 알아보았는데, 실제로 개발할때에는 GET, POST, PUT, DELETE를 많이 사용할 것 같다.
'Spring' 카테고리의 다른 글
DDD 설계 vs SQL 중심 설계 (1) | 2023.11.09 |
---|---|
Entity vs DTO vs VO (0) | 2023.11.07 |
[Spring] 스프링 빈과 의존성 주입 해보기 (0) | 2023.11.03 |
[Spring] Controller 구현하기 (0) | 2023.11.02 |
[Spring] Controller, Service, Repository 3계층의 역할 (0) | 2023.10.31 |