REST란?

김명수·2025년 9월 23일

매일메일

목록 보기
13/101
post-thumbnail

REST란?

●REST란?

  • REST(Representational State Transfer) 는 자원의 표혀을 이요하여 상태를 주고받는 것을 의미
  • 여기서 자원이란 소프트웨어가 관리하는 모든 것을 의미하며 자원의 표현은 자원을 나타내기 위한 이름을 의미
  • 서버가 관리하는 주문 데이터는 order 라고 표현할 수 있으며, 최근에는 일반적으로 자원의 상태를 나타내기 위해 JSON 포맷을 사용하며 REST는 네트워크 상에서 클라이언트와 서버의 통신 방식 중 하나이며, HTTP 프로토콜을 사용함
  • 구체적으로는 HTTP URI를 활용하여 자원을 명시하고 HTTP METHOD를 통해 CRUD 연산을 적용하는 것을 의미

●API란?

  • 컴퓨터 프로그램 간 정보를 주고받을 수 있도록 하는 일종의 출입구와 같은 역할을 수행
  • API가 REST 기반으로 구현되어 있다면, 이를 REST API라고 부름

●REST의 장단점

  • REST는 서버와 클라이언트의 역할을 명확하게 분리해 주며, HTTP 프로토콜을 따르는 모든 플랫폼에서 사용할 수 있음
  • CURL, Postman을 사용하여 간단하게 테스트할 수 있다는 장점도 존재
  • 반면, 요청 및 응답 스타일의 통신만 지원하며, HTTP 메서드로 행위를 표현하기 어려운 경우도 존재하며 요청 한 번으로 여러 자원을 가져오기 어렵다는 단점이 존재
  • REST 방식의 경우 자원의 상태를 전송하기 위해서 JSON 메시지 포맷을 사용
  • JSON과 같은 텍스트 포맷은 자기 서술적이며, 메시지 소비자가 자신이 관심이 있는 값만 골라서 사용하고 나머지는 무시하면 되므로 메시지 구조가 자주 바뀌어도 하위 호환성을 보장하는 것이 유리
  • 하지만, 메시지가 다소 길다는 것이 단점이며, 메시지가 길다면 네트워크 트래픽을 더욱 사용하며 전송 속도가 느릴 수 있으며, 메시지를 해석하는 데에 오버헤드가 발생할 수 있음
profile
신입개발자

0개의 댓글