API
: Application Programming Interface
웹 애플리케이션은 Node.js가 가진 기능을 호출하여 동작하게 된다.
fs.readFile에 대해 생각해보자. 이 함수는 누가 만들었을까? Node.js 개발자들이 만든 것이다.
이 함수가 어떻게 동작하는지 우리는 모른다. Node.js를 만든 개발자들은 Node.js를 이용하는 개발자들에게 파일을 읽을 때에는 readFile을 사용하라고 사용설명서를 통해 말한다. 즉, readFile 함수의 이름과, 파라미터, 리턴값은 이 함수를 만든 Node.js개발자들과 이 함수를 사용하는 Node.js를 이용하는 개발자들 사이의 약속된 조작장치이다. 이런 조작장치를 Interface라 한다. 우리는 interface인 readFile함수를 실행시켜서 애플리케이션을 만들 수 있게 되는 것이다.
이처럼 애플리케이션을 프로그래밍하기 위해서 제공되는 interface를 API라고 한다. 언어가 가진 조작장치들이 궁금하다면 API를 찾거나 검색을 통해 문제를 해결할 수 있다.
CreateServer
Node.js의 API문서를 살펴보자.
우리가 작성한 코드를 보면, http 모듈을 가져와 createServer()함수를 사용하고 있다. 이를 Nodejs 문서를 통해 찾아보자.
requestListener <함수>. 그래서 createServer의 첫 번째 인자로 함수를 입력하였다.
createServer()함수를 이용하여 웹 서버를 만들었다. 그리고 웹 서버로 외부에서 요청이 들어올 때마다 function을 호출하면서, 웹 브라우저로부터 들어오는 요청에 대한 정보를 담고 있는 request를 첫 번째 인자로, 함수 안의 구현을 통해 사용자에게 전송하고 싶은 정보를 담고 있는 response를 두 번째 인자로 주기로 약속을 했다.
return값으로 http.Server를 반환한다. 그래서 변수 app에 서버 객체가 담겨있는 것이다. 그럼 app에는 어떤 값이 담겨 있을까?
app.listen(3000);
위 코드는 우리가 만든 웹 애플리케이션의 마지막 코드이다.
요청에 대해 응답할 수 있도록 HTTP를 구동시킨다.
server.listen()의 형태들이다.
여러 형태 중 마지막을 보면, port는 생략가능하다고 되어 있다. 우리의 경우 3000번 포트를 사용하고 있으므로 작성했다.
따라서 우리가 3000번을 작성하게 되면 3000번 포트에 귀기울이고 있다가 웹 브라우저로부터 접속이 들어올 때 3000번 포트로 들어오면 우리가 만든 애플리케이션이 이에 대해 응답하고 동작하게 된다.
'Back-End > Node.js' 카테고리의 다른 글
express 프로젝트 만들기 오류 (0) | 2020.09.03 |
---|---|
Node.js.49.부록 - pm2 보충학습 (0) | 2020.09.03 |
Node.js.47.3.App제작-출력정보에 대한 보안 (0) | 2020.09.03 |
Node.js.47.2.App제작-출력정보에 대한 보안 (0) | 2020.09.03 |
Node.js.47.1.App제작-출력정보에 대한 보안 (0) | 2020.09.03 |