NodeBird 앱의 REST API 서버를 만들어보겠습니다.
노드는 자바스크립트 문법을 사용하므로 웹 API 서버에서 데이터를 전달할 때 사용하는 JSON을 100% 활용하기에 좋습니다.
API 서버는 프론트엔드와 분리되어 운영되므로 모바일 서버로도 사용할 수 있습니다.
노드를 모바일 서버로 사용하려면 이번 장과 같이 서버를 REST API 구조로 구성하면 됩니다.
사용자 인증, 사용량 제한 등의 기능을 구현하여 NodeBird의 웹 API 서버를 만들어봅시다.
이번 장을 위해 NodeBird 앱에 게시글을 다양하게 올려 두세요.
웹 API는 다른 웹 서비스의 기능을 사용하거나 자원을 가져올 수 있는 창구입니다.
"API를 열었다" 또는 "만들었다"라는 표현은 다른 프로그램에서 현재 기능을 사용할 수 있게 허용했음을 의미합니다.
다른 사람에게 정보를 제공하고 싶은 부분만 API를 열어놓고, 제공하고 싶지 않은 부분은 API를 만들지 않는 것입니다.
또한, API를 열어놓았다 하더라도 모든 사람이 정보를 가져갈 수 있는 것이 아니라
인증된 사용자만 일정 횟수 내에서 가져가게 제한을 둘 수도 있습니다.
위와 같은 서버에 API를 올려서 URL을 통해 접근할 수 있게 만든 것을 웹 API 서버라고 합니다.
이 장에서 만들 서버도 NodeBird의 정보를 제공하는 웹 API입니다.
단, 정보를 모든 사람이 아니라 인증된 사용자에게만 제공할 것입니다.
여기서 "크롤링"이라는 개념을 알아두면 좋습니다.
크롤링은 웹 사이트의 데이터를 수집하는 방법으로,
웹 사이트가 자체적으로 제공하는 API가 없거나 API 이용에 제한이 있을 때 사용합니다.
표면적으로 보이는 웹 사이트의 정보를 일정 주기로 수집해 자체적으로 가공하는 기술입니다.
하지만 웹 사이트에서 직접 제공하는 API가 아니므로 원하는 정보를 얻지 못할 가능성이 있습니다.
또한, 웹 사이트에서 제공하길 원치 않는 정보를 수집한다면 법적인 문제가 발생할 수도 있습니다.
서비스 제공자 입장에서도 주기적으로 크롤링을 당하면 웹 서버의 트래픽이 증가하여 서버에 무리가 가므로,
웹 서비스를 만들 때 공개해도 되는 정보들은 API로 만들어 API를 통해 가져가게 하는 것이 좋습니다.
'clone toy projects > node_express_sns' 카테고리의 다른 글
JWT 토큰으로 인증 하기 (0) | 2023.08.25 |
---|---|
프로젝트 구조 갖추기 (0) | 2023.08.25 |
팔로잉과 해시태그 (0) | 2023.08.24 |
multer 패키지로 이미지 업로드 구현하기 (0) | 2023.08.24 |
Passport 모듈로 로그인 구현하기[카카오] (0) | 2023.08.24 |