반응형
Notice
Recent Posts
Recent Comments
Link
7JeY world
[면접질문] REST, RESTful, RESTful API 장점 본문
반응형
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의 장점
-
통일성
정해진 규칙대로 routing 주소를 만들기 때문에 일관성과 통일성이 있다.
-
확장성
예를 들어 학생 API에서 과목을 관리하는 API를 추가하는경우 . . .
반응형
'Interview > 개발' 카테고리의 다른 글
[면접질문] 동기, 비동기 개념, 차이점, 장단점(Synchronous, Asynchronous) (0) | 2020.11.27 |
---|---|
[면접질문] GET, POST 차이점 (0) | 2020.11.26 |
[면접질문] 애자일 방법론이란? (Agile Development Methodology) (0) | 2020.11.26 |
[면접질문] 스택, 큐, 덱(Stack, Queue, deque)개념 정리 (0) | 2019.01.30 |
[면접질문] Java와 Java Script의 차이 (0) | 2019.01.30 |
Comments