[SW] RESTful

SCY·2023년 3월 26일
0

REST

: Representational State Transfer

  • 자원(해당 소프트웨어가 관리하는 것)을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 모든 것
  • 자원의 표현(이름)에 의한 상태 전달
  • 네트워크 상 클라이언트와 서버 사이의 통신 방식 중 하나

HTTP URI를 통해 자원을 명시하고, HTTP Method(GET, POST 등)를 통해 해당 자원에 대한 CRUD Operation을 적용한다. 웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 ID인 HTTP URI를 부여한다.

장점

  • HTTP 프로토콜의 인프라를 그대로 사용하므로 별도의 인프라를 구축할 필요가 없고 해당 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.
  • 의도하는 바를 명확히 나타내므로 의도를 쉽게 파악할 수 있다.
  • 서버와 클라이언트의 역할을 명확히 나눈다.

단점

  • 표준이 존재하지 않는다.
  • 사용 가능한 메소드가 네가지 뿐이다.
  • 구형 브라우저에서 아직 제대로 지원해주지 못하는 부분이 존재한다.
    - PUT, DELETE 사용 불가

REST API

REST를 기반으로 서비스 API를 구현한 것. OpenAPI는 대부분 이를 제공한다.

RESTful 하다?

공식 용어는 아니지만 REST의 원리를 잘 따르는 시스템을 칭하는 용어이다. REST API를 제공하는 웹 서비스를 RESTful하다고 할 수 있다.

profile
성장 중독 | 서버, 데이터, 정보 보안을 공부합니다.

0개의 댓글