RESTful API ?

Red_Panda·2021년 4월 16일
0

오늘은 자주보이는 RESTful API가 무엇인지 공부했다.
이름 그대로 RESTful한 API인데 RESTful 하다는게 무슨말인지 몰랐다.

먼저 REST(Representational State Transfer)는 소프트웨어 아키텍쳐중 하나다.

REST는 6가지의 제약조건을 가지고있다.
제약조건은 다음과 같다.

  • 클라이언트 서버 구조 : 구조를 단순화 시키고 작은 단위로 분리하여 클라이언트와 서버가 서로 독립적으로 개선 시킬수 있음.
  • 인터페이스 일관성 : URI에 대한 요청을 통일되면서 한정적으로 수행하는 아키텍처 스타일.
    자원 식별, 메세지를 통한 리소스 조작, 자기 설명 메세지, 애플리케이션 상태의 엔진으로서 하이퍼미디어 총 4가지 규약이 있다.
  • Stateless : 클라이언트 -> 서버로의 각 요청은 그 요청을 이해하는데 필요한 모든 정보가 포함되어야한다. 서버에 저장된 환경 정보 이용x
  • 캐시 처리 가능 : 클라이언트는 응답을 캐싱할 수 있어야 함.
    캐싱 : 캐시 영역으로 데이터를 가져와 접근하는 방식
    캐시 : 성능을 향상시키기 위해 사용되는 메모리
  • 계층화 : 클라이언트는 대상 서버에 직접 연결인지, 중간 서버를 통한 연결인지 알 수 없음. 중간 서버는 로드 밸런싱 기능, 공유 캐싱 기능을 제공하여 시스템 규모 확장성을 향상시키는데 유용.
    로드 밸런싱 : 2~3개의 중앙처리장치나 저장장치와 같은 컴퓨터 자원들에게 작업을 나누는 네트워크 기술의 한 종류
  • Code on Demand(optional) : 서버가 클라이언트에 보낼 데이터를 바로 실행 가능한 코드를 보내 Client에서 실행할수 있는것

6가지 조건(REST)을 잘 지킨 시스템을 RESTful 하다고 하는 것이었다.

profile
신입 개발자

0개의 댓글