Ⅰ. API(Application Programming Interface) 란?
직역하면, 응용 프로그램 인터페이스라고 합니다. 쉽게 말해서, API는 프로그램들이 서로 정보를 주고받을 수 있게 해주는 다리 역할을 합니다. 예를 들어, 스마트폰 앱에서 날씨 정보를 보여주려면 다른 서버에서 최신 날씨 데이터를 가져와야 하는데, 이때 API를 사용해 서버에 요청하고 응답을 받아 필요한 정보를 얻어옵니다.
Ⅱ. API(Application Programming Interface) API의 기본 개념
API는 요청과 응답이라는 구조를 가지고 있어, 프로그램이 필요한 정보를 서버에서 요청하고, 서버는 그 정보를 응답하는 방식으로 동작합니다. 사람의 대화로 비유하면 API는 정해진 언어와 규칙으로 대화하는 방법과 같습니다.
ⅰ. 요청(Request): 앱이 서버에게 “지금 서울의 날씨가 어때요?”라고 물어보는 것과 같습니다.
ⅱ. 응답(Response): 서버가 현재 날씨 데이터를 앱에 보내줍니다. 예를 들어, "서울은 지금 맑고, 기온은 25도입니다"라는 응답을 받을 수 있습니다.
Ⅲ. API(Application Programming Interface) 사용 예시
ⅰ. 날씨 앱: 스마트폰의 날씨 앱은 API를 사용해 날씨 정보를 제공하는 서버에서 최신 날씨 데이터를 받아옵니다.
ⅱ. 지도 앱: 지도 앱도 API를 사용해 지도 데이터를 가져오고, 우리가 원하는 목적지까지 경로를 찾도록 도와줍니다.
ⅲ. 로그인 시스템: 많은 웹사이트에서 구글이나 페이스북 계정으로 로그인하는 경우도 API가 사용됩니다. 구글이나 페이스북의 API를 통해 사용자 정보를 확인하고 로그인할 수 있습니다.
Ⅳ. API(Application Programming Interface) 의 구조와 데이터 형식
API는 보통 REST API라는 형태로 많이 사용됩니다. 이 방식은 URL을 사용해 서버에 요청을 보내는 방법을 정의한 방식입니다. 또, 주로 JSON(JavaScript Object Notation)이라는 형식으로 데이터를 주고받습니다. JSON은 사람이 쉽게 이해할 수 있는 텍스트 형식이라 많이 사용됩니다.
JSON 형식의 예시 (날씨 API 응답 예시)
{
"city": "Seoul",
"temperature": "25°C",
"weather": "Sunny"
}
이 응답에서, "city"는 서울이라는 도시 이름을, "temperature"는 현재 기온을, "weather"는 날씨 상태를 나타냅니다. 이렇게 JSON 형식으로 데이터를 주고받기 때문에 앱이 이 정보를 화면에 표시할 수 있습니다.
Ⅴ. Ⅰ. API(Application Programming Interface) 호출 시 사용하는 포트
ⅰ. 80번 포트 (HTTP): HTTP는 Hypertext Transfer Protocol의 약자로, 주로 웹 브라우저가 데이터를 서버와 주고받을 때 사용됩니다. HTTP는 데이터를 암호화하지 않기 때문에 중요한 정보보다는 일반적인 데이터를 주고받을 때 사용됩니다. HTTP 요청은 기본적으로 80번 포트를 통해 이루어집니다.
ⅱ. 443번 포트 (HTTPS): HTTPS는 Hypertext Transfer Protocol Secure의 약자로, HTTP에 보안(SSL/TLS 암호화) 기능을 추가한 것입니다. HTTPS는 데이터를 암호화하기 때문에, 로그인 정보나 결제 정보 같은 민감한 데이터를 주고받을 때 주로 사용됩니다. HTTPS는 443번 포트를 통해 작동합니다.
Ⅵ. API(Application Programming Interface) 활용 방법
ⅰ. HTTP 요청 보내기: API를 활용할 때는 앱이나 프로그램에서 HTTP 또는 HTTPS 요청을 보내 필요한 정보를 서버에 요청합니다.예를 들어, 날씨 API에 서울의 날씨를 요청할 때 URL 형식 https://api.openweathermap.org/data/2.5/weather?q=[city]&appid=[apikey]같은 방식으로 요청할 수 있습니다.
ⅱ. 응답 받기: 서버는 JSON 형식으로 응답을 보냅니다. 이 응답에는 요청한 데이터가 포함되어 있습니다. 이를 앱이 받아서 화면에 보여주게 됩니다.
ⅲ. 보안 고려하기: 민감한 정보가 포함된 요청은 보통 HTTPS 방식을 사용하여 안전하게 데이터를 주고받습니다. 예를 들어, 로그인 정보는 HTTPS로 암호화하여 주고받아야 안전합니다.
ⅳ. 예시: API를 사용해 날씨 앱 만들기
1) 앱이 사용자 위치를 확인하고 날씨 정보를 제공하는 서버에 API 요청을 보냅니다.
2) 서버는 현재 위치의 날씨 데이터를 JSON 형식으로 응답합니다.
3) 앱은 이 데이터를 받아 사용자가 이해할 수 있게 화면에 “서울의 현재 기온은 25°C이고 맑은 날씨입니다”와 같은 내용을 보여줍니다.
Ⅶ. API(Application Programming Interface) 의 장점
ⅰ. 편리함: 새로운 기능을 일일이 개발하지 않고, 이미 만들어진 API를 사용해 다양한 기능을 손쉽게 구현할 수 있습니다.
ⅱ. 보안성: HTTPS 같은 암호화된 통신을 통해 보안을 강화할 수 있습니다.
ⅲ. 연결성: 여러 앱과 서비스가 API를 통해 서로 데이터를 주고받아 연결되고, 보다 편리한 기능을 제공할 수 있습니다.
'어플리케이션' 카테고리의 다른 글
RFC(Request for Comments) 에 대해 알아보겠습니다. (0) | 2024.11.15 |
---|---|
Java에서 사용되는 JDK,JRE,JVM 에 대해 알아보겠습니다. (0) | 2024.11.04 |
서버 가상화에 대해 알아보겠습니다. (1) | 2024.10.11 |
백도어(Backdoor)에 대해 알아보겠습니다. (0) | 2024.09.24 |
SSL(Secure Sockets Layer) 취약점에 대해 알아보겠습니다. (0) | 2024.09.18 |