'REST API'에 해당되는 글 1건

RESTful API

SERVER 2019. 6. 18. 07:04

[REST]

  REST 는 Representational State Transfer 의 약자이다. Web Client는 URL link나 Resource Identifier 를 통하여 리소스에 대해 요청을 하고 결과를 받는다. 이 요청에 대한 결과는 클라이언트의 화면에 새로운 내용이 보여지는 등의 방식으로 나타나는데 이 과정을 통해 Web Browser 의 표현 상태(Representational State) 가 변경(Transfer) 된다. 

  • URI, URL 등을 통해 요청(URI : Uniform Resource Identifier 인터넷 상의 자원을 나타내는 유일한 주소)
  • 요청시점 데이터 상태에서 Resource ID의 데이터값에 대해 요청받은 작업 수행
  • 결과를 받아 Display

요약하면, HTTP 통신에서 어떤 리소스에 대해 CRUD 연산을 위해 URI 요청을 보내는 것이다. (주로 Get, Post 등의 Method 를 사용해 요청)

  • Create - Post
  • Read - Get(Select)
  • Update - Put
  • Delete - Delete

요청을 위한 Resource + Method ( 행위 ) + Representation of Resource ( 리소스의 형태 ) 같은 규칙으로 설계된 API 를 Rest API 라고 한다. 

[API]

Application Programming Interface 로 데이터와 기능을 제공하여 프로그램간 상호작용, 정보 교환을 가능하게 하는 것이다. 

 

[REST API 의 구성요소]

  • Resource : Unique ID를 가진 리소스가 서버에 존재한다. URI 를 통해 접근
  • Method : Post, Get, Put, Delete 와 같이 서버에 원하는 연산 요청을 보냄 
  • Representation of Resource : Client와 Server 가 Data를 주고받는 형식 (Json, Xml ...etc) 메시지

 

[REST 의 특성]

  1. Client - Server 구조 : Client(요청을 하는 주체), Server(Resource 가 저장된 곳)
  2. Stateless : 서버는 각 요청을 별개의 것으로 인식한 후 처리, 즉 Session 정보나 Cookie 정보를 활요하지 않는다. (구현 단순, 서버 부담 low)
  3. Cacheable : 대량의 요청을 캐시를 이용해서 효율적으로 처리
  4. Uniform Interface : 예를 들어, HTTP + JSON 형식으로 REST API를 정의했다면 그 두가지를 사용할 수 있는 어떤 언어를 사용하거나 기술을 사용하더라도 사용이 가능하다. 
  5. Self-Descripiveness : API의 메시지만으로도 직관적으로 이해 가능
  6. Layered System : 다중 계층 구조로 구성될 수 있고 보안, 암호화, Load Balancing을 위해 계층 구조 변경 가능

 

[RESTful]

  RESTful 이란 REST Architecture 를 구현하는 웹 서비스를 나타내는 말이다. 즉, REST API를 제공하는 서비스는 RESTful 하다고 할 수 있다.

- RESTful의 목적

  • 사용이 쉬운 REST API
  • API 의 이해도와 호환성을 높인다. 성능이 목적이 아니다.

- RESTful 하지 않은 경우

  • CRUD 연산을 모두 POST로 처리하는 API
  • route 에 Resource, ID 외의 다른 정보가 들어가는 API

 

'SERVER' 카테고리의 다른 글

MVC Pattern  (0) 2019.06.18
블로그 이미지

Denken_Y

coding 블로그

,