클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램(server program) 또는 장치(device)를 의미한다.(나무 위키)
간단히 말해서 요청을 처리해줄 수 있는 기계이다.
ex) 내가 네이버 웹툰 페이지를 요청하면 네이버 서버에서 웹툰 메인 html 을 전송 해준다.
텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜 이렇게 규약을 정해두었기 떄문에 모든 프로그램이 이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다.
클라이언트 즉, 사용자가 브라우저를 통하여 어떠한 서비스를 url 또는 다른 것을 통하여 요청(request) 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response) 하는 형태로 작동한다.
Chrome V8 JavaScipt로 엔진으로 만들어진 런타임(실행 도구다)
우선 자바스크립트를 이해기 위해서 HTML을 이해 해보자
웹페이지를 만들기 위한 정적인 마크업 언어(움직이지 안음)
웹페이지 생동감을 불어넣기 위한 프로그래밍 언어
자바스크립트는 웹브라우저 해석을 하는데 웹브라우저 말고 다른 환경에서도 javaScript를 사용할 수 있도록 하는 런타임이다
// npm init 입력하면 package.json 파일이 생기게 되는데 설치한 라이브러리들을 기록을 해주는 곳
{
"name": "web_server",
"version": "1.0.0",
"description": "",
"main": "index.js", // 앱을 실핼할 곳을 index.js 지정
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.3"
}
}
// 서버를 실행 실행 시키기 위해서 적용
const express = require("express");
const app = express();
app.listen(8080, () => {
console.log("listening on 8080");
});
nodemon index.js