서버란?
- HTTP 요청을 받으면 요청한 내용을 보내주는 프로그램
- HTTP 요청 → 읽기(GET), 쓰기(POST), 수정(PUT), 삭제(DELETE)
Node.js
- 모든 브라우저에서는 자바스크립트를 실행시키는 엔진이 내장되어 있음
- Node.js에도 오픈 소스 JavaScript 엔진인 크롬 V8이 내장되어 있음
- 또한 비동기 이벤트 처리 라이브러리인 libuv를 결합시킴
- 따라서 Node.js에서도 자바스크립트의 코드를 실행시킬 수 있음
- Non-blocking I/O
- 프로그래밍 언어로 만든 서버: 중간에 데이터 큰 거 요청하면 시간 오래 걸림
- Non-blocking: 처리 순서 빠른 것 먼저 보내줌, 그 다음에 오래 걸리는 작업 수행
- 강점
- SNS, 채팅서비스 → 많은 데이터 요청 처리 가능
- 코드가 매우 짧고 쉬움
- 웹 서비스용으로 good
실행 방법
npm install express
먼저 express 설치
nodemon 파일명.js
node 파일명.js 입력시 Ctrl + C 입력해서 새로고침 해야하는 번거로움이 있으므로,
nodemon을 이용해 자동 새로고침 시키기
const express = require('express');
const app = express();
// body-parser (서버에 데이터 전송하기 위함)
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({extended: true}));
// 포트 설정
app.listen(8080, (포트번호, () => {
console.log("listening on 8080");
});
// GET 요청
app.get("/", (req, res) => {
res.sendFile(__dirname + "/index.html");
});
// POST 요청
app.post("/add", (req, res) => {
res.send("전송완료");
console.log(req.body);
});
기본적인 사용법
<input class="form-control" id="exampleFormControlInput1" name="data"/>
form 안의 input 태그에는 반드시 name 속성을 붙여 input을 구분한다.