You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

목차

01. REST이전

  • 장점
    • API만 보아도 어떤 API인지 알 수 있다.
  • 단점
    • 개발자마다 API설계가 다르다.
    • CRUD를 만들기 위해 API를 여러개 만들어야 한다.

02. REST의 개념

  • REST : Representational State Transfer
    • 자원(resource)의 표현(representation) 에 의한 상태(State) 전달
      • 자원: 문서, 그림, 데이터, 소프트웨어 자체 등
      • 표현: 그자원을 표한하기 위한 이름 예) 영화=movies
      • 상태: 자원의 상태를 전달
        • PUT: 자원이 업데이트된 상태
        • POST: 자원이 새로 추가된 상태
        • GET: 자원을 읽은 상태
        • DELETE: 자원이 삭제된 상태

  • REST의 특징
    • Server-Client구조
    • Stateless(무상태)
    • Cacheable(캐시 처리 가능)
    • Layered System(계층화)
      • Rest server를 다중 계층으로 구성
        • 보안, LB, 암호화, 인증등의 계층을 추가.
    • Code-on-demand(optional)
      • Server로 부터 스크립트를 받아서 Client에서 실행한다.
    • Uniform Interface(인터페이스 일관성)
      • URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행한다.

03. HTTP의 역사

  • HTTP/0.9

    • 1991년 월드와이드 웹 공식출발과 함께 시작

    • method : GET

    • Header가 없음

    • GET /mypage.html

  • HTTP/1.0

    • 1996년 11월  RFC 1945에 공개

    • HTTP Header및 Content-Type추가로 HTML이외의 문서도 전송가능

    • method: GET, POST
    • GET /mypage.html HTTP/1.0
  • HTTP/1.1
    • 1997년 1월 RFC 2068에서 처음 공개
    • HTTP의 첮번째 표준
    • method: GET, POST, OPTIONS, PUT, DELETE, TRACE
  • HTTP/2
    • 2015년 5월 공식 표준화


REST API

  • REST기반으로 서비스 API를 구현한것
  • 장점
    • API디자인에서 발생할 수 있는 문제를 최소화 한다.
    • 서버와 클라이언트 역할을 명확하게 분리한다.
    • API가 의도하는 바를 쉽게 파악할 수 있다.
    • HTTP표준 프로토콜에 따르는 모든 플랫폼에서 사용 가능하다.
  • 단점
    • 표준이 존재하지 않는다.
    • 사용할 수 있는 메소드가 4가지 밖에 없다.


  • No labels