RESTFUL API란 무엇일까?

 

우선 REST는 ' 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 것을 의미한다' 라고 한다.

 

REST는 웹 기반의 네트워크 통신 방식 중 하나라고 하며 

 

HTTP URI으로 자원을 명시(이름으로 구분) 하고 HTTP Method(get,post,delete 등)으로 자원에 대한 싱테 등을 처리한다.

 

URI = 자원의 식별자

URL = 자원의 위치 

 

 

그렇다면 REST를 왜 사용하는 것일까?

 

* HTTP 를 이용하기 때문에 별도의 자원을 소모할 필요가 없으며 HTTP의 장점을 가지고 있다.

 

*서버와 클라이언트의 역할을 정확하게 분리해준다.

 

* 하지만 HTTP 프로토콜 특성상 메소드가 제한적이기 때문에 어려움이 존재한다.

 

API란?

* API - 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.

 

REST API 설계의 규칙

* URI의 표현 - * 자원(resource)은 명사, 소문자 사용

                    *  도큐먼트(인스턴스, DB 레코드) 는 단수 명사

                    *  컬렉션(서버 디렉토리), 스토어(클라이언트 저장소)는 복수 명사

                    *  URI 사이에는 HTTP Method 및 동사표현 사용 불가

 

* URI의 구분자 - * / (슬래시) 는 계층 관계를 나타냄

                       * URI의 마지막에는 / (슬래시) 사용 금지

                       * 밑줄(_)은 사용 금지  하이픈(-)은 사용 가능

                       * URI 에는 확장자 사용 금지 ex).jpg  대신 Accept header 사용 - example-image HTTP/1.1 HOST: example.com Accept : image/jpg

                       * 연관성 - /리소스명/리소스 ID/연관된 리소스명

 

 

RESTFUL API

REST API를 제공하는 웹 서비스를 RESTFUL 하다고 한다.

 

 

+ Recent posts