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 |
---|