본문 바로가기

Develop/WEB

RESTful API

🚩RESTful API 정의

RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다. 대부분의 비즈니스 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신해야 합니다. 예를 들어 월간 급여 명세서를 생성하려면 인보이스 발행을 자동화하고 내부의 근무 시간 기록 애플리케이션과 통신하기 위해 내부 계정 시스템이 데이터를 고객의 뱅킹 시스템과 공유해야 합니다. RESTful API는 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 이러한 정보 교환을 지원합니다.

출처 : https://aws.amazon.com/ko/what-is/restful-api/

 

이미지 출처 :  https://www.astera.com/type/blog/rest-api-definition/

 


🚩RESTful API 주요 속성

1. 자원 기반

- 모든 리소스는 고유한 URI로 식별 ex) /users/124 id가 124인 사용자 리소스

- 리소스는 다양한 표현(JSON, XML 등)을 가질 수 있음

 

2. 균일한 인터페이스 

- HTTP 메서드로 CRUD작업을 표준화

 

  • GET: 리소스 조회
  • POST: 새 리소스 생성
  • PUT: 리소스 전체 업데이트
  • PATCH: 리소스 부분 업데이트
  • DELETE: 리소스 삭제

3.무상태성

- 각 요청은 독립적이고, 서버가 이전 요청의 정보를 저장하지 않음

- 서버는 클라이언트의 세션 정보를 저장하지 않음

- 모든 정보는 그 자체로 완전해야함

 

4.캐시 가능성

- 응답은 자신이 캐시 가능한지 여부를 명시해야 함

 

5.계층화 시스템

- 클라이언트는 직접 연결된 계층과만 상호작용함

 

6. 클라이언트 - 서버 구조


🚩Endpoint

API에서 특정 리소스나 기능에 접근할 수 있는 URL(Uniform Resource Locator)

RESTful API에서 각 endpoint는 특정 리소스나 작업을 나타냄

 

 

 

'Develop > WEB' 카테고리의 다른 글

레이어드 아키텍쳐(Layered Architecture)  (0) 2024.10.06
HTTP 메서드(2) / 상태코드  (0) 2024.10.02
HTTP 메세지 & 메서드  (1) 2024.09.30
HTTP 기본 특징  (2) 2024.09.30
HTML & XML  (0) 2024.03.28