본문 바로가기
코드 개념 메모장

[코딩메모] API / REST API / HTTP 란 무엇인가?

by 코딩 중인 호빵밍 2025. 4. 15.

개발을 하다 보면 자주 마주치는 API, Web API, REST API, AJAX, fetch 같은 용어들.  
처음에는 서로 비슷하게 느껴져 헷갈리기 쉬운 개념들이라, 핵심 관계와 차이점을 정리해 보았다.

용어 설명
API (Application Programming Interface) 소프트웨어 간의 기능 호출을 위한 중간 인터페이스.
반드시 네트워크를 통한 것만을 의미하지 않으며, 로컬 함수 호출도 API에 포함됨.
Web API / REST API HTTP 프로토콜 기반으로 서버와 클라이언트가 통신할 수 있도록 정의된 API.
AJAX 방식의 fetch(), axios, $.ajax 같은 도구를 통해 사용되며, 대부분 JSON 포맷으로 데이터를 주고받음.
Network 컴퓨터 간 데이터 전송을 위한 통신 인프라. HTTP, TCP/IP 등 다양한 프로토콜이 이 위에서 작동하며, Web API도 이를 통해 요청·응답을 주고받음.
AJAX 비동기 요청을 보내는 방식이자 개념이다.
   - fetch() = 브라우저 내장 최신 AJAX 방식
   - $.ajax() = jQuery 기반 옛날 AJAX 방식
   - axios = 기능이 더 풍부한 AJAX 도구 (라이브러리)
HTTP (HyperText Transfer Protocol) 클라이언트-서버 간 데이터 전송을 위한 웹 통신 규약.
REST API에서 요청(Request)과 응답(Response) 구조를 가짐.
fetch, axios, $.ajax 브라우저에서 Web API를 호출할 때 사용되는 비동기 통신 기술/함수들.
내부적으로 HTTP 요청을 전송하여 데이터를 가져오거나 보냄.

 

✅ API(Application Programming Interface)란 무엇인가?

서로 다른 소프트웨어 간의 통신을 가능하게 해주는 인터페이스이다.

 

쉽게 말해, 컴퓨터와 사람이 대화할 때 키보드가 연결고리가 되듯, 프로그램끼리 데이터를 주고받기 위한 다리 역할을 하는 것이다. 즉, 어떤 소프트웨어 기능을 외부에서 쓸 수 있도록 일종의 규칙을 코드화한 것이 API라고 할 수 있다.

 

예를 들어, 브라우저에서 동작하는 프로그램을 개발하면서 사용자의 위치 정보를 활용하고자 할 때, 

사용자 위치의 정보를 직접 수집하거나 구현할 필요 없이 웹 API에서 제공하는 '위치 정보 기능'을 호출하면 쉽게 데이터를 가져올 수 있다는 것이다. 즉, 기능이 원리까지 알필요 없이 그저 API만 사용하면 된다.

API는 복잡한 내부 로직을 몰라도 로컬 또는 Web API를 호출하여 기능을 사용할 수 있게 해주는 도구이다.

 

✅인터페이스란 무엇인가?

서로 다른 두 시스템이나 구성 요소가 정보를 주고받을 수 있도록 정해 놓은 연결 규칙이다.

 

예를 들어, 사람과 컴퓨터 사이에서 키보드나 마우스가 인터페이스가 될 수 있고,
프로그램 간에도 데이터를 주고받기 위해서는 데이터 형식, 명령 방식, 요청 규칙 등을 사전에 정의해야 하며,
이렇게 정해진 코드상의 약속이 바로 인터페이스의 역할을 합니다.

 

개발에서 자주 사용하는 API는 이러한 인터페이스 중 하나로,

한 프로그램이 다른 프로그램의 기능을 약속에 따라 호출할 수 있도록 표준화된 방법을 제공하는 인터페이스라고 할 수 있다.

인터페이스는 시스템 간에 정보를 주고받을 수 있게 도와주는 연결 규칙이다.
개발에서는 API가 대표적인 인터페이스로, 프로그램 간 기능 호출과 데이터 교환을 명확한 규칙에 따라 가능하게 해준다.

 

✅Web API / REST API란 무엇인가?

Web API는 API의 한 종류로,

HTTP 프로토콜을 사용해 서버와 클라이언트가 데이터를 주고받을 수 있도록 설계된 API이다.

JavaScript에서는 주로 AJAX 방식의 fetch, axios, jQuery에서는 $.ajax() 같은 도구를 사용해 Web API를 호출한다.

 

REST API는 Web API를 구현하는 방식 중 하나로, REST(Representational State Transfer)는 자원(Resource)을 URI로 표현하고, 자원에 대한 행위를 HTTP 메서드(GET, POST, PUT, DELETE 등)로 정의하는 아키텍처 스타일이다.

모든 REST API는 Web API에 포함되지만, 모든 Web API가 REST API인 것은 아니다.

 

✅ HTTP(HyperText Transfer Protocol)란 무엇인가?

REST API를 비롯한 대부분의 Web API는 기본적으로 HTTP 프로토콜을 통해 동작한다.

HTTP는 웹에서 클라이언트(브라우저)와 서버 간에 데이터를 주고받기 위한 통신 규약이며, 기본적으로 요청(Request)과 응답(Response)의 구조로 이루어져 있다. 클라이언트가 서버에게 요청을 보내면, 서버는 그에 맞는 응답을 돌려주는 방식이다.