본문 바로가기
Archive

[22] Restful API 에 대해서

by livemehere 2022. 4. 3.

API

Apllication Programming Interface 의 약자입니다.

하지만 단순히 Apllication 뿐만 아니라, 사용자들이 사용할수있는 interface, 함수들을 포함하는 의미입니다.

서버입장에서 API란, 클라이언트들이 사용하는 URL을 뜻한다고 할 수 있습니다.

Restful

Rest의 성격이 가득하다 라는 의미입니다

Rest

Representational State Transfer 의 약자입니다.

"무언가를 대표하는,나타내는 상태를 전송한다" 라는 의미입니다

즉, 실제로 어떤 resource 에대한 상태를 전송하는 것입니다.

Restful System의 6가지 요소

1. Client-Server architecture

서버는 클라이언트가 브라우저뿐만 아니라 다양한 어플리케이션에 데이터를 제공할 수 있는 아케텍쳐를 유지해야한다.

2. Statelessness (http를 사용한다면 기본적으로 적용되는 요소)

하나의 요청이 다른 요청과 연관이 되서는 안된다.

3. Cacheability (http를 사용한다면 기본적으로 적용되는 요소)

캐시가 가능하다면 캐시를 할 수있는 것으로 디자인해야한다.

4. Layered System

서버가 얼마나 많던지, 중간 서버가있는지 상관없이 클라이언트는 하나의 API를 이용할 수 있어야한다.

5. Code on demand (선택)

클라이언트가 원한다면 클라이언트에서 수행해야하는 코드를 서버로 보낼 수 있다.

6. Uniform interface (Restful을 경정하는 중요한 요소)

  • 클라이언트에서 자원의 형태가 언떤지 알 수 있어야하고, 클라이언트가 이해할 수 있는 형식으로 주어야한다. (html, json, xml...)
  • 클라이언트가 받는 데이터는 어떤 형식인 지 알 수 있어야한다.(header에 Content-Type 을 지정해주는 것 처럼)
  • 서버에서 받은 리소스에 대해서, 다른 처리는 어떻게 할 수있는지 알수 있어야한다.(get을햇다면 post,put,delete.. 등은 어떻게 요청할 수 있는지에 대한 링크 정보를 제공받아야 함)
반응형

'Archive' 카테고리의 다른 글

[2] express 에러 핸들링  (0) 2022.04.03
[1] express 요청,응답,미들웨어  (0) 2022.04.03
[21] JSON 통신  (0) 2022.04.03
[20] node의 http모듈을 사용해서 서버 만들어보기  (0) 2022.04.03
[19] Header  (0) 2022.04.03