http 메서드의 기본 개념을 알아보고 주요메서드인 GET, POST, PUT, DELETE, PATCH 등의 역할과 차이에 대해 알아보자.
실무에서 적절한 HTTP 메서드를 선택해보자. 또한 멱등이라는 개념을 잘 이해하는 것이 중요하다.
API 설계 뿐 아니라 IO(특히 네트워크) 가 포함된 실행흐름을 설계할 때 꼭꼭 신경써야한다.
HTTP 메서드란?
HTTP 메서드를 클라이언트가 서버에 요청을 보낼 때 수행할 동작을 지정하는 방식
image , 영상, 음성, html, text 등 우리가 생각할 수 있는 모든 데이터를 바이너리로 전송가능하다.
http 은 요청과 응답 메시지 구조가 약간 다르다.
HTTP 요청과 응답 메시지는 시작라인, 헤더, message body 부분으로 이루어져 있다.
요청메시지
- 요청메시지의 시작라인 : get + path + http version 정보
- 헤더
- 공백라인
- 전송할 데이터가 없으면 한 줄 공백후 끝. 있으면 바디 넣어주기.
응답 메시지
- 응답메시지의 시작라인 : http version 정보 + 응답 코드
- 헤더
- 공백라인
- 필요한 http 응답 메시지가 들어옴
HTTP 메서드 종류
현업에서는 API 설계시 가장 중요한 것이 리소스 식별이다.
Rest 설계 규칙은 URI 는 정보의 자원만 표현해야 하며, 자원의 상태와 행위는 HTTP Method 에 명시하는 것을 말한다.
주요 메서드
GET : 리소스 조회
POST : 요청 데이터 처리, 주로 등록에 사용
PUT : 리소스를 대체, 해당 리소스가 없으면 생성
PATCH : 리소스 부분 변경
DELETE: 리소스 삭제
기타 메서드
HEAD : GET 과 동일하지만 메시지 부분을 제외하고,상태 줄과 헤더만 반환
OPTIONS: 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS 에서 사용) - 참고로만 알아두기
CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정 - 거의 사용안함
TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트 수행 - 거의 사용안함
"HTTP 메서드에 대해 설명해 주세요."
HTTP 메서드는 클라이언트가 서버에 요청을 보낼 때 사용됩니다.
- GET: 리소스를 조회할 때 사용되며, 캐싱이 가능합니다.
- POST: 새로운 리소스를 생성하거나 프로세스를 처리할 때 사용됩니다.
- PUT: 리소스를 전체 수정할 때 사용되며, 여러 번 요청해도 같은 결과가 유지되므로 멱등성을 가집니다.
- PATCH: 리소스의 일부를 수정할 때 사용되며, 일반적으로 비멱등적일 수 있습니다.
- DELETE: 리소스를 삭제할 때 사용되며, 멱등성을 가집니다.
또한, GET은 캐싱이 가능하지만, POST, PUT, PATCH, DELETE는 일반적으로 캐싱되지 않습니다.
멱등한 메서드(GET, PUT, DELETE)는 동일한 요청을 여러 번 보내도 결과가 변하지 않지만, 비멱등한 메서드(POST, PATCH)는 요청을 반복하면 서버의 상태가 변할 수 있습니다.
RESTful API를 설계할 때는 각 메서드의 용도와 특징을 고려하여 적절하게 사용하는 것이 중요합니다.
POST와 PUT의 차이점은?"
POST는 새로운 데이터를 생성하고, PUT은 기존 리소스가 있으면 대체 (덮어버림), 없으면 생성
또한, PUT은 같은 요청을 여러 번 보내도 결과가 같지만(멱등성), POST는 호출할 때마다 새로운 데이터가 생성될 수 있습니다.
'Network' 카테고리의 다른 글
HTTP/ HTTPS , SSL 가속기 (0) | 2025.03.19 |
---|---|
L4 , L7 로드밸런서 (0) | 2025.02.12 |
TCP/IP 네트워크 이해하기 (4) - TCP (0) | 2025.01.27 |
TCP/IP 네트워크 이해하기 (4) - IPv4, ICMP (0) | 2025.01.27 |
TCP/IP 네트워크 이해하기 (2) - 2계층에서 하는 일 (0) | 2025.01.24 |