본문 바로가기
Network

[Network] API? REST API?

by happyhelen 2021. 9. 6.

Application Programming Interface 란 무엇일까

 

마우스, 키보드, 화면 등의 수단으로 컴퓨터에 접촉하게 해 주는 User Interface 가 존재하듯이

API는 서버와 서버, 기계와 기계 사이의 요청과 정보 교환을 가능하게 해 주는 것이다

 

예를 들어, 질병 관련 정보들을 저장하고 관리하는 어떤 '서버' 가 존재한다고 하자

질병과 관련된 통계, 정보 등에 대한 서비스를 제공하는 포털 사이트나 앱은 이 '서버' 로부터 실시간으로 정보를 '요청' 하고 수집, 갖고온 정보들을 서비스를 제공하는 데 사용할 것이다

'이런 형식에 맞게 요청하면 저런 형식의 답을 주겠다' 고 하는 매뉴얼 같은 것이다

정보를 요청할 수 있는 '지정된 형식' 이 어떤 것인지 미리 작성된 코드 통해서 정보들을 요청 및 전송할 수 있는 것이다

 

 

REST API 란 무엇일까

 

우선 염두에 두어야 할 것은 REST API는 단지 '형식' 이라는 것이다

REST API의 중요한 특성은 요청하는 주소의 '모습 그 자체로' 그 요청이 어떤 목적을 위한 것인지 알 수 있게 만든 것이라는 점이다

이는 다른 개발자들도 보고 쉽게 이해할 수 있게 만들기 위함이다

 

서버에 REST API 로 요청을 보낼 때는 HTTP 규약에 따라 신호를 전송하는데 HTTP 에는 다양한 Method 가 있지만

REST API 에서는 제한적이지만 다음과 같은 5가지를 사용한다

또한 REST API의 구조는 행위와 자원을 합하는 URI 형식을 따른다 ( 실무에서는 따로 구분하지 않고 URL이라고 부르기도 한다)

결론적으로 REST API 란 HTTP 요청을 할 때 어떤 Method 랑 어떤 URI 를 조합한다는 '형식' 이다

 

HTTP Method 
행위(Verb)
URL(URI)
자원(Resource)
 
POST https://(도메인)/Covid 생성(Create)
GET https://(도메인)/Covid/Korea 조회(Read)
PUT https://(도메인)/Covid/Korea 수정(전체)(Update)
PATCH https://(도메인)/Covid/Korea 수정(부분)(Update)
DELTE https://(도메인)/Covid/Korea 삭제(Delete)

 

그래서 REST API의 일관된 형식을 위해서 다음과 같은 규칙을 따른다

 

REST API 의 설계 규칙

1. URL 은 정보의 자원을 표현해야 한다 

2. 동사는 URL 에 포함하지 않는다(명사로 구성한다)

3. URL 은 소문자와 dash(-) 를 사용한다

4. 컨트롤 자원을 의미하는 URL 은 예외적으로 동사를 허용한다

 

 

 

'Network' 카테고리의 다른 글

[Network] OSI 7 Layer, TCP/IP  (1) 2024.02.21