※수업 시간에 @Controller @RestController 어노테이션에 대해 사용법을 배웠는데 의미가 궁금해서 찾아서 정리해 보았음.


REST의 의미




풀어서 쓰면 REpresentational State Transfer라고 한다.

로이 필딩이라는 사람이 2000년 박사학위 논문에 처음으로 소개했다.

WWW와 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍쳐의 형식 중 하나.

장비가 서로 통신하는데 CORBA, RPC, SOAP같은 방식을 원래 사용했는데, 이것이 복잡해서 간단하게 HTTP로 통신할 수 있도록 하는것이 목

적이었다.

REST는 자원지향구조(Resourece Oriented Architecture)로 웹 사이트의 이미지, 텍스트, Database 등 모든 Resource에 고유한 URI를 부여한다.


RESTful



6가지 제한 조건이 있다.


  • 클라이언트 / 서버 구조
  • 무상태 (Stateless)
  • 캐시 처리 가능 (Cacheable)
  • 계층화 체계 (Layered System)
  • Code on Demand

위 6가지 조건을 준수하는 상황에서 RESTful 하다고 할 수 있다.
또한 이 상황에서 개별 컴포넌트를 자유롭게 구현할 수 있다.
조건에 대한 부분은 각각 다른 페이지에서 설명하겠다.


Web 서비스들에 적용시



REST 아키텍처 제약 조건을 준수하는 웹 서비스 API를 RESTful API라고 한다. HTTP 기반 RESTful API는 다음과 같은 측면으로 정의된다.


  • 기본 URL (a base URL)
  • 상태 전이 데이터 요소(a media type that defines state transition data elements) ex) Atom, microformats, application/vnd.collection+json
  • 표준 HTTP 메소드 ex)  OPTIONS, GET, PUT, POST, DELETE



참조 링크

















'네트워크' 카테고리의 다른 글

컴퓨터 네트워킹 하향식 접근  (30) 2018.10.04
HTTP 메시지 (Header,Body)  (0) 2018.09.10

+ Recent posts