수학과의 좌충우돌 프로그래밍

[WEB] REST API 란 본문

웹프로그래밍/이론

[WEB] REST API 란

사용자 ssung.k 2021. 6. 14. 18:40

REST란

REST는 Representational State Transfer의 약자로 자원을 정의하고 자원에 대한 주소를 지정하는 방법 중 하나입니다.

URI를 통해 자원을 명시하고 HTTP method를 통해서 동작을 정의합니다.

자세한 설계 방법은 아래에서 살펴봅시다.

 

REST의 특징

  • 동일한 인터페이스
  • HTTP 표준만 따른다면, 언어와 플랫폼에 종속되지 않습니다. 안드로이드, IOS, 웹에 종속되지 않습니다.
  • Stateless
  • 서버에서 상태정보를 따로 저장하고 관리하지 않습니다. 이로 인해 서버의 구현이 단순해집니다.
  • Cacheable
  • HTTP의 인프라를 그대로 사용할 수 있기 때문에 HTTP가 가진 캐시 기능을 사용할 수 있습니다.
  • Self-descriptiveness (자체 표현 구조)
  • REST API만 보고도 의도하는 바를 명확하게 이해할 수 있습니다.
  • Client-Server 구조
  • 클라이언트와 서버의 역할을 확실히 구분하여 클라이언트와 서버간에 개발해야 할 내용이 명확해지고 의존성이 줄어듭니다.

 

 

REST의 단점

REST의 장점은 특징을 통해 알아봤습니다.

REST의 단점은 아래와 같습니다.

  • 제한적인 HTTP method
  • POST, GET, DELETE, PUT 4개의 HTTP로 제한됩니다.
  • 표준의 부재
  • REST API는 표준이 존재하지 않습니다. 그렇기 때문에 클라이언트와 서버 개발자는 API 문서를 통해 소통을 하고 표준을 잡아가게 됩니다.
  • 호환성
  • 인터넷 익스플로어같은 경우에는 호환이 되지 않아 지원이 안 될 가능성이 존재합니다.

 

 

REST API 설계 기본 규칙

표준은 존재하지 않지만 설계를 위한 기본 규칙은 존재합니다.

해당 규칙을 잘 지킨 API를 RESTful하다고 합니다.

 

  • 슬래시 구분자를 통해 계층 관계를 나타냅니다.
  • 마지막에는 슬래시 구분자를 포함하지 않습니다.
  • 언더바 보다는 하이픈을 사용합니다.
  • URI는 소문자로 표기한다.
  • URI에 파일 확장자를 표기하지 않는다.

'웹프로그래밍 > 이론' 카테고리의 다른 글

[WEB] google이 만든 RPC, gRPC란  (2) 2021.06.15
[WEB] REST API 란  (0) 2021.06.14
[WEB] GraphQL, REST API의 대체?  (0) 2021.05.31
[WEB] JWT를 어디에 보관해야할까  (0) 2021.05.23
[WEB] Authentication (2) JWT  (0) 2021.05.18
[WEB] URI vs URL vs URN 비교 분석  (0) 2020.10.19
0 Comments
댓글쓰기 폼