7JeY world

[면접질문] REST, RESTful, RESTful API 장점 본문

Interview/개발

[면접질문] REST, RESTful, RESTful API 장점

7JeY 2020. 11. 26. 14:36
반응형

REST, RESTful

 

 

1. REST

: Representatioanl State Transfer

1) 자원을 이름으로 구분하여 해당 자원의 상태 혹은 정보를 주고받는 것

 

Resource(자원) 의 representation(표현)에 의한 상태 전달
자원표현 이란?

Resource : 해당 소프트웨어가 관리하는 모든 것 문서, 이미지, DB 등

Representation : 자원을 표현하기 위한 이름 DB의 학생 정보가 자원일 때 'students'를 자원의 표현으로 정함

전달 : JSON, XML을 통해 주고 받는 것이 일반적

 

2) 웹에 존재하는 자원(이미지, 동영상, DB)에 대해 고유한 URI를 부여하고 활용하는 방법

네트워크 상에서 Client - Server사이의 통신 방식 중 하나이다.

웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용 할 수 있는 아키텍처 스타일이다.

 

3) HTTP를 통해 CRUD를 실행하는 API

Client - server 구조

무상태(Stateless) : 서버는 각각의 요청을 완전히 별개의 것으로 인식하고 처리해야 한다.

캐시 처리 가능(Cacheable) : 대량의 요청을 효율적으로 처리

자체 표현 구조 : REST API메시지만 보고도 쉽게 이해할 수 있도록 JSON을 이용해 직관적으로 이해 가능한 표현 구조로 이루어져 있다. 동사(Method) + 명사(URI) 형태

계층형 구조

 

 

2. RESTful

: 위 정의들을 구현하는 방식, REST 아키텍쳐를 준수해 설계된 API

REST의 비공식적 구현 가이드이며 개발자마다 생각하는 RESTful의 내용이 다를 수 있다.

 

GET : 리소스를 조회, 해당 도큐먼트에 대한 정보 가져올 때 사용

POST : URI 요청하면 리소스를 생성

PUT, PATCH : 해당 리소스 수정

DELETE : 해당 리소스 삭제

 

 

 

3. RESTful API의 장점

  1. 통일성

    정해진 규칙대로 routing 주소를 만들기 때문에 일관성과 통일성이 있다.

  2. 확장성

    예를 들어 학생 API에서 과목을 관리하는 API를 추가하는경우 . . .

 

 

반응형
Comments