API 서버 이해하기
API는 Application Programming Interface의 두문자어로, 다른 애플리케이션에서 현재 프로그램의 기능을 사용할 수 있게 허용하는 접점을 의미합니다.
웹 API는 다른 웹 서비스의 기능을 사용하거나 자원을 가져올 수 있는 창구입니다. 흔히 API를 '열었다'는 '만들었다'고 표현하는데, 이는 다른 프로그램에서 현재 기능을 사용할 수 있게 허용했음을 뜻합니다. 다른 사람에게 정보를 제공하고 싶은 부분만 API를 열어넣고, 제공하고 싶지 않는 부분은 API를 만들지 않는 것입니다. 또한, API를 열어놓았다 하더라도 모든 사람이 정보를 가져갈 수 있는 아니라 인증된 사람만 일정 횟수 내에서 가져가게 제한을 둘 수 있습니다.
위와 같은 서버에 API를 울려서 URL을 통해 접근할 수 있게 만든 것을 웹 API 서버라고 합니다. 단, 정보를 만든 사람이 아니라 인증된 사용자에게만 제공할 것입니다.
여지서 크롤링(crawling)이라는 개념을 알아두면 좋습니다. 크롤링을 해서 웹 사이트의 데이터를 수집했다는 말을 들어본 적이 없을 겁니다. 크롤링은 웹 사이트가 자체적으로 제공하는 API가 없거나 API 이용에 제한이 있을 때 사용하는 방법입니다. 표면적으로 보이는 웹 사이트의 정보를 일정 주기로 수집해 자체적으로 가공하는 기술입니다. 하지만 웹 사이트에서 직접 제공하는 API기 아니므로 원하는 정보를 얻지 못할 가능성이 있습니다. 또한, 웹 사이트에서 제공하길 원치 않는 정보를 수집한다면 법적인 문제가 발생할 수 있습니다.
서비스 제공자 입장에서도 주기적으로 크롤링을 당하면 웹 서버의 트래픽이 증가하며 서버에 무리가 가므로, 웹 서비스를 만들 때 공개해도 되는 정보들은 API로 만들어 API를 통해 가져가게 하는 것이 좋습니다.
'프로그래밍 언어 > NODE JS' 카테고리의 다른 글
| Nodebird 서비스와 데이터베이스를 공유하는 프로젝트 구조 갖추기(2) (0) | 2025.11.16 |
|---|---|
| Nodebird 서비스와 데이터베이스를 공유하는 프로젝트 구조 갖추기(1) (0) | 2025.11.13 |
| 프로젝트 마무리하기 (0) | 2025.11.07 |
| multer 패키지로 이미지 업로드 구현하기 (0) | 2025.11.04 |
| 카카오 로그인 구현하기 (2) (0) | 2025.11.01 |