@ RESTful API란?
- 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스
- 대부분의 비즈니스 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신해야 한다. 이런 부분에서 안전하고 신뢰할 수 있다. 효율적인 소프트웨어 통신 표준을 따른다.
@ API란?
- 애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의한다.
- 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성한다.
- 웹 API는 클라이언트와 웹 리소스 사이의 케이트웨이라고 생각할 수 있다.
[클라이언트]
- 웹에서 정보에 액세스하려는 사용자.(API를 사용하는 사람 or 소프트웨어 시스템)
[리소스]
- 다양한 애플리케이션이 클라이언트에게 제공하는 정보 (이미지, 동영상, 텍스트, 숫자 또는 모든 유형의 데이터)
- 클라이언트에 리소스를 제공하는 시스템을 서버라고 한다.
- 이때 조직은 API를 사용하여 리소스를 공유하고 보안, 제어 및 인증을 유지하면서 웹 서비스를 제공한다.
- API는 특정 내부 리소스에 액세스할 수 있는 클라이언트를 결정하는 데 도움을 준다.
@ REST란?
- 균일한 인터페이스의 웹 서비스 디장인의 기본 (서버가 표준 형식으로 정보를 전송함을 나타낸다.)
- 형식이 지정된 리소스 = 표현(REST), 서버 애플리케이션에 있는 리소스의 내부 표현과 다를 수 있다.
- 균일한 인터페이스에 4가지 아키텍처 제약 조건
- 요청은 리소스를 식별해야 한다. 이를 위해 균일한 리소스 식별자를 사용
- 클라이언트는 원하는 경우 리소스를 수정하거나 삭제하기에 충분한 정보를 리소스 표현에서 가지고 있다. 서버는 리소스를 자세히 설명하는 메타데이터를 전송하여 이 조건을 충족한다.
- 클라이언트는 표현을 추가로 처리하는 방법에 대한 정보를 수신한다. 이를 위해 서버는 클라이언트가 리소스를 적절하게 사용할 수 있는 방법에 대한 메타데이터가 포함된 명확한 메시지를 전송한다.
- 클라이언트는 작업을 완료하는 데 필요한 다른 모든 관련 리소스에 대한 정보를 수신한다. 이를 위해 서버는 클라이언트가 더 많은 리소스를 동적으로 검색할 수 있도록 표현에 하이퍼링크를 넣어 전송한다.
[무상태]
- REST 아키텍처에서 무상태는 서버가 이전의 모든 요청과 독립적으로 모든 클라이언트 요청을 완료하는 통신 방법
'JavaScript Dev. > Node.js' 카테고리의 다른 글
Package Manager 란? (0) | 2023.04.22 |
---|---|
HTTP / Web Server (0) | 2023.04.22 |
JavaScript 란? (0) | 2023.04.22 |
Node.js (0) | 2023.04.21 |
Express 미들웨어 (0) | 2023.04.20 |