기타

API, HTTP 개념

sintory-04 2024. 11. 26. 17:53

 

 

1. API

1) API란?

(1) API 개념

-  Application Programming Interface의 약자.

- 운영체제와 응용프로그램 사이의 통신에 사용되는 메시지 형식, 중간 전달자. 

- API는 중간에서 양쪽 서버를 연결해주는 것.

- 프로그램이나 시스템이 서로 소통하도록 도와주는 매개체.

- 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법(코드).

> youtube 코딩애플 참조. 코드를 실행할 수 있도록 전달해주는 코드.

코딩초보들이 헷갈리는 용어 : API가 뭐냐면

 

(2) API 역할

- 데이터 전달

- 추상화

- 표준화 

 

(3) API 작동방식 

- API는 보통 클라이언트-서버 구조에서 동작함.

> 클라이언트가 API를 호출하여 요청을 보내면, 서버는 요청을 처리 후 필요한 데이터를 응답 보냄.

> 클라이언트: 웹, 브라우저, 모바일 앱, 소프트웨어 / 서버: API를 제공하는 서비스(날씨정보API)

 

2) API 종류

(1) Web API (ex: REST API, GraphQL)

- 인터넷을 통해 데이터를 주고 받을 때 사용하는 API

- Google Maps API, Twitter API

(2) Libary API

- 특정 프로그래밍 언어의 라이브러리를 통해 제공되는 함수와 클래스

- Python으로 따지면 math, Numpy, Pandas

(3) Operating System API

- 운영체제가 제공하는 기능에 접근

- Windows의 파일 관리 API> Window API: 윈도우 운영체제 기능들 사용 가능.

(4) Database API

- 데이터베이스와 소통하기 위해 제공.

- SQL Query API 

 

3) API가 가져야할 내용

(1) 요청방식 (method) get 요청

- 데이터를 달라고 할 것인지, 데이터를 보내라고 할 것인지.

(2) 무슨 자료를 요청할지 (endpoint)

- 어떤 데이터를 요청할 것인지.

(3) 자료요청에 필요한 추가 정보

- 아이디, 이름, 기타 db

(4) 웹의 경우 REST API 원칙에 따라 작성하면 좋음.

+ ) API 구성요소

endpoint: API가 데이터를 주고받는 URL.

Request: 클라이언트가 서버에 보내는 메시지. 주로 HTTP 메서드(GET,POST,PUT,DELETE)

Response: 서버가 클라이언트 요청에 대해 보내는 데이터. JSON, XML 형식

API key: API 사용권한 확인하기 위한 인증 수단

 

4) public private partner 

(1) public API : 누구나 사용가능한 공개 API
(2) private API: 조직 내에서 쓰는 API

(3) partner API: 미리 정해진 인원만 사용 가능한 API

5) API 장점

- 확장성: 서로 다른 시스템이나 플랫폼 간 통합이 쉬움.

- 효율성: 복잡한 기능을 단순한 호출로 처리

- 재사용성: 한 번 개발된 API는 여러 앱에서 재사용 가능.

 

 

2. HTTP 

1) HTTP란?

(1) HTTP 개념

- Hyper Text Transfer Protocol의 약자.

- 웹에서 데이터를 주고받는 데 사용되는 프로토콜. 

- 웹 브라우저와 서버가 서로 통신하기 위해 약속한 규칙

- 주로 웹 페이지, 이미지, 동영상 등의 리소스를 전송할 때 사용됨.

- Request와 Response를 나타냄.

- 서버와 클라이언트와 공통의 약속인 메시지가 필요한데, 그 메시지를 HTTP 라고 함.

/*

HTTP를 이해하고자 할려면, 엣지에서 F12를 눌러서 확인해보아야 할 것이 있음.

F12를 눌러 [네트워크] 란에 가면 웹에서 어떠한 일이 일어나고 있는지 직접 확인할 수 있음.

*/

 

(2) HTTP 특징

① 클라이언트 - 서버모델: 클라이언트가 요청을 보내면, 서버가 이를 처리하고 응답.

 ex: 브라우저가 서버에 웹 페이지를 요청 > 서버가 HTML 파일을 응답. 

② 무상태성: HTTP는 한 번의 요청과 응답이 끝난 후, 클라이언트와 서버 사이에 상태 정보를 유지하지 않음.

- 이를 보완하기 위해 쿠키, 세션, 토큰 등이 사용.

③ 텍스트기반: 요청과 응답 메시지가 사람이 읽을 수 있는 텍스트 형식으로 작성.

'기타' 카테고리의 다른 글

[자격증]  (1) 2025.01.03
[React] 기초  (1) 2025.01.03