728x90
반응형

API 개념과 웹 개발에서의 역할
1. API란 무엇인가
- API는 Application Programming Interface의 약자로,
- 운영 체제, 애플리케이션, 기타 서비스의 기능이나 데이터에 접근할 수 있도록 도와주는 함수와 절차 모음입니다.
- 소프트웨어 구성요소 간 다리 역할을 하며, 이를 게이트웨이 또는 미들웨어라고 부르기도 합니다.
2. API는 왜 중요한가
- 웹 개발자의 일상 업무 상당수는 API를 다루는 일과 관련되어 있습니다.
- 다양한 정보(뉴스, 상품 구매, 소셜 미디어 활동 등)는 API를 통해 전송되고 연결됩니다.
웹 개발자가 주로 사용하는 API 유형
1. 브라우저(Web) API
- 브라우저에 내장되어 있으며, 복잡한 기능을 단순화하고 고급 기능을 쉽게 구축할 수 있도록 도와줍니다.
- 대표 예시
- DOM API : HTML 문서를 자바스크립트 객체 트리로 변환.
- Geolocation API : 사용자의 위치 좌표를 반환.
- Fetch API : 데이터를 가져오기 위한 간편한 인터페이스.
- Canvas API : 그래픽 및 드로잉 작업을 가능하게 함.
- History API : 브라우저 방문 기록 관리.
- Web Storage API : 클라이언트 측 저장소 관리 (localStorage, sessionStorage).
2. REST API (또는 RESTful API)
- 웹 및 모바일 앱에 데이터를 제공하는 서버 API.
- REST(Representational State Transfer) 원칙에 따라 효율적으로 설계됨.
- 주요 기능
- 중앙 데이터베이스와 통신하여 데이터를 가져오거나, 생성, 수정, 삭제하는 작업 수행.
- API 설계의 핵심
- 엔드포인트(URI) 를 통해 자원에 접근.
- 응답은 주로 JSON 형태로 반환.
- 엔드포인트(URI) 를 통해 자원에 접근.

API 엔드포인트(endpoint) 는
클라이언트(예: 웹 브라우저, 앱)가
서버의 특정 자원(data) 에 접근하기 위해 요청을 보내는 주소(URL) 를 말합니다.
즉,
"API를 통해 어떤 데이터나 기능에 접근하려면 이 URL로 요청을 보내세요"
라고 정해놓은 접속 지점입니다.
예시로 쉽게 이해해보기
- 기본 서버 주소:
- arduino 복사편집 <https://api.example.com>
- 엔드포인트 예시:
- 사용자 정보 조회: GET <https://api.example.com/users>
- 특정 사용자(id=1234) 정보 조회: GET <https://api.example.com/users/1234>
- 새 사용자 등록: POST <https://api.example.com/users>
- 사용자 정보 수정: PUT <https://api.example.com/users/1234>
- 사용자 삭제: DELETE <https://api.example.com/users/1234>
요약하면
- https://api.example.com/users 같은 것이 엔드포인트입니다.
- 서버가 어떤 데이터나 기능을 제공할지 결정하는 경로라고 보면 됩니다.
한 문장으로 정리
API 엔드포인트는 클라이언트가 서버에 요청을 보내 특정 데이터나 기능을 이용할 수 있도록 만든 URL 경로입니다.
3. 센서 기반 API
- 사물인터넷(IoT) 기술 기반으로 동작.
- 물리적 센서들이 데이터를 API를 통해 주고받고, 상황에 따라 반응합니다.
- 대표 예시
- Philips Hue (스마트 조명),
- Nodebots (로봇).
추가 포인트
- 다양한 API가 존재하지만, 웹 개발자에게 가장 흔하고 중요한 API는 RESTful API입니다.
- 좋은 API 설계는 문제 없는 요청-응답 흐름과 예측 가능한 데이터 인터페이스를 제공합니다.
- 웹 개발자는 API를 통해 시스템 기능을 확장하고, 여러 구성 요소 간에 가교 역할을 하게 됩니다.
728x90
반응형
'front-end development' 카테고리의 다른 글
| [지식루프 웹개발] 001. 웹 개발자가 하는 일과 웹사이트 작동 원리 (2) | 2025.08.22 |
|---|---|
| [지식루프 웹개발공부] 08. DOM(Document Object Model) (2) | 2025.04.26 |
| [지식루프 웹개발공부] 06. 프레임워크와 라이브러리 차이 (1) | 2025.04.25 |
| [지식루프 웹개발공부] 05. 웹 브라우저 작동원리 (0) | 2025.04.22 |
| [지식루프 웹개발공부] 04. 웹사이트와 웹페이지 (2) | 2025.04.22 |