보통 Restful API라고 부르면서 API URI 설계를 하였다.
그렇다면 내가 아는 REST란 무엇인가,
HTTP 메서드
의 기능으로 나눠서 구현하며, URI에 명사 중심적으로 설계를 하는 것 일 것이다.
이정도의 느낌으로만 알고 있다.
정말 구체적인 REST란 어떤 것일까?
매일메일에서 말하는 REST란 다음과 같다.
REST(Representational State Transfer) 는 자원의 표현을 이용하여 상태를 주고받는 것
여기서의 자원이란, 소프트웨어가 관리하는 모든 것을 의미한다.
REST는 네트워크 상에서 클라이언트와 서버의 통신 방식 중 하나이며, HTTP 프로토콜을 사용한다.
구체적으로 HTTP URI를 활용하여 자원을 명시하고 HTTP METHOD를 통해 CRUD 연산을 적용하는 것을 의미한다.
그렇다면 REST의 장단점은?
장점 :
서버와 클라이언트의 역할을 명확하게 분리한다.
HTTP 프로토콜을 따르는 모든 플랫폼에서 사용 가능하다.
CURL, Postman을 사용하면 간단히 테스트 가능하다.
단점:
요청, 응답 스타일의 통신 만을 지원
HTTP메서드로 행위를 표현하기 어려운 경우도 존재하여 요청 한 번으로 여러 자원을 가져오기 어렵다.
REST 방식의 경우 자원의 상태를 전송하기 위해서 JSON 메시지 포맷을 사용
JSON과 같은 텍스트 포맷은 자기 서술적이며, 메시지 소비자가 자신이 관심이 있는 값만 골라서 사용하고 나머지는 무시하면 되므로 메시지 구조가 자주 바뀌어도 하위 호환성을 보장하는 것이 유리함.
하지만, 메시지가 다소 길어지고 네트워크 트래픽을 더욱 사용하여 전송 속도가 느릴 수 있다.
또한 메시지 해석하는데 오버헤드 발생가능하다.
이번 메일의 경우 : REST(Representational State Transfer) 는 자원의 표현을 이용하여 상태를 주고받는 것
이 부분으로 대부분의 설명이 가능한 것 같다.
[매일메일] 로드 밸런싱에 대해서 설명해주세요. (0) | 2025.04.28 |
---|---|
[매일메일] 얕은 복사와 깊은 복사에 대해서 설명해주세요. (0) | 2025.04.01 |
[매일메일] 트랜잭션 격리수준은 무엇인가요? (0) | 2025.03.11 |
[매일메일] 데이터베이스 인덱스에 대해서 설명해주세요 (0) | 2025.03.10 |
[기술면접][매일메일] 일급 컬렉션이 무엇인가요? (0) | 2025.03.07 |