반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

undefined

REST API 본문

CS

REST API

JavaScripter 2022. 9. 8. 16:43
반응형

Representational State Transfer

 



디자인패턴X vs 아키텍쳐O

 

아키텍쳐란?

최적화를 위하여 시스템을 설계하는 설계도

 

 


Rest의 특징

 1. 유니폼 인터페이스

   통일된 인터페이스로 실행되는 아키텍쳐 스타일

2. 무상태성
    
    불필요한 세션 쿠키등을 따로 저장하지않고 api로 들어오는 요청만 처리하기에 간단함
    
3. 캐시 가능
    
    기존의 HTTP환경을 활용하기에 HTTP기능인 캐시를 활용가능
    
4. 자체표현구조
    
    Rest API의 메세지를 보고도 구조를 쉽게 이해 가능한 자체표현구조
    
5. 클라이언트-서버구조
    
    서버는 데이터를 제공 클라이언트는 데이터를 관리함으로서 각각의 역할이 구분되고 의존성이 줄어듬
    
6. 계층형구조
    
    API의 서버를 다중계층으로 구성가능, 구조상의 유연성이 높고 프록시, 게이트웨이등의 중간매체 이용가능
    

 

 


Restful하게 API를 디자인 하는 방법

1. 리소스(URI)와 행위(method)를 구분하라
    
    행위: GET(조회), POST(생성), PUT(기존의 값 전체 수정), PATCH(기존의 값 일부 수정), DELETE(삭제)
    
2. Header와 Body를 명확히 구분하라
    
    body: 조작할 내용,값
    
    headers: API버전정보, 응답받고자하는 MIME 타입
    
3. API의 버전을 관리하라
    
    API를 변경할 때에는 반드시 하위호환성이 보장되어야함
    
4. 서버와 클라이언트는 같은 방식으로 요청한다
    
    보내는 정보의 타입을 통일 json - json


    URI의 플랫폼 중립성
    
    URL: 위치정보
    
    URI: 식별자
    
    URI는 URL을 포함하는 상위개념
    

 


    REST API의 장점
    
    1. open API를 제공하기 쉬움
    
    2. 멀티플랫폼 지원에 적합 ⇒ 많은 클라이언트에게 html파일 전부가 아닌 해당 데이터만 보내면 되기에
    
    3. 원하는 타입으로 데이터 교환 가능
    
    4. 기존 웹 인프라 활용가능 (HTTP)
    

 


    REST API의 단점
    
    1. 사용 method의 종류가 제한적
    
    2. 분산환경에서 부적합
    
    3. HTTP환경에서만 지원

반응형

'CS' 카테고리의 다른 글

사용자 로그인 인증 방법 알아보기 - React Authentication  (0) 2022.10.21
WEB CS 기술면접 대비 간단 정리  (0) 2022.10.20
MVC 아키텍쳐  (0) 2022.09.11
Test Driven Development (TDD)  (0) 2022.09.11
객체 지향형 프로그래밍  (0) 2022.09.08
Comments