본문 바로가기
교육후 개인공부/Computer Science

[CS] API

by 뭉지야 2024. 1. 22.
728x90

API

-(application programming interface)

-둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계계층을 의미한다.

- 프로토콜(http, https), 메서드(get, post), 데이터교환형식(JSON, XML)이 정의되어있다.

 

 

Interface

-서로 다른 두개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다.

-이를 통해 해당 컴퓨터의 내부서버가 어떻게 구현되어있는지는 상관없이 인터페이스를 통해 통신등이 가능합니다.

 ex)네이버의 내부서버가 어떻게 구현되어있는지 우리는 모르지만, 인터페이스를 통해 통신이 가능하다.

 

 

 

API장점

1. 제공자는 서비스의 중요한 부분을드러내지 않아도 됩니다. 예를들어 DB설계 구조나 드러내고 싶지 않은 데이터 베이스의 테이블 정보, 서버의 상수값 등을 드러내지 않고 드러내고 싶은 부분만을 드러낼수 있습니다.

 

2. 사용자는 해당 서비스가 어떻게 구현되는지 알 필요없이 필요한 정보만을 받을수 있습니다.   

 

3. OPEN API를 통해서 앱개발 프로세스를 단순화시키고 시간과 비용을 절약할수 있다.    

ex) 네이버로그인

 

4. 내부 프로세스가 수정되었을때 API를 매번 수정하는 것이 아닌 API가 수정이 안되게 만들수 있습니다. 이를 통해 내부 DB, 서버의 로직이 변경이 되어도 매번 사용자가 앱을 업데이트하는 일은 줄어들 수 있습니다.

 

5. 제공자는 데이터를 한곳에 모을수 있다. 예를들어 해당 사이트에 방문하는 방문자, 어떤 특정한 것을 클릭하는 사용자에 대한 이벤트를 집계하고 싶을 때 해당 API를 만들고 해당 이벤트가 발생하면 해당 API를 호출하게 만들면 해당 데이터를 한 곳에 모을 수 있습니다.

 

 

 

API의 종류

private: 내부적으로 사용됩니다. 주로 해시키를 하드코딩해놓고 이를 기반으로 서버와 서버간의 통신합니다. 이는 비즈니스 파트너와도 사용될 수 있습니다. 비밀스럽게 해당 파트너와 해시키를 공유해 통신합니다.

public: 모든 사람이 사용할 수 있습니다. 많은 트래픽을 방지하기 위해 하루 요청수의 제한, 계정당 몇 개 등으로 관리합니다. (open api)

 

 


http://127.0.0.1:3000

 

프로토콜: http

IP: 127.0.0.1

port: 3000 (port는 숨겨져있다. 반드시 존재하는데 숨겨져있다.)

 

https port: 443이 기본 포트

http port: 80이 기본포트

 

 

 

 

 

 

728x90

'교육후 개인공부 > Computer Science' 카테고리의 다른 글

[CS] IaaS, PaaS, SaaS  (0) 2024.01.23
[CS]클라우드의 방식(오프프레미스, 온프레미스)  (0) 2024.01.23
[CS] 가상머신  (0) 2024.01.22
DBMS, RDBMS  (0) 2024.01.11
IP, DNS, HTTP, HTTPS  (0) 2024.01.10