const secretId = process.env.SECRET_ID;
const secretCode = process.env.SECRET_CODE;
//------------------------------------------------------------------------------------------------url_WHATWG과 일반 URL 차이
const url = require('url');
const { URL } = url;
const myURL = new URL('<http://www.gilbut.co.kr/book/bookList.aspx?sercate1=001001000#anchor>');
console.log('new URL():', myURL);
console.log('url.format():', url.format(myURL));
console.log('--------------------------------');
const parsedUrl = url.parse('<http://www.gilbut.co.kr/book/bookList.aspx?sercate1=001001000#anchor>');
console.log('url.parse():', parsedUrl);
console.log('url.format():', url.format(parsedUrl));
//------------------------------------------------------------------------------------------------crypto_pbkdf2.js_단방향 암호화
const crypto = require('crypto');
crypto.randomBytes(64, (err, buf) =>
{
const salt = buf.toString('base64');
console.log('salt:', salt);
crypto.pbkdf2('비밀번호', salt, 100000, 64, 'sha512', (err, key) =>
{
console.log('password:', key.toString('base64'));
});
});
//------------------------------------------------------------------------------------------------cipher.js_양방향 암호화
const crypto = require('crypto');
const algorithm = 'aes-256-cbc';
const key = 'abcdefghijklmnopqrstuvwxyz123456';
const iv = '1234567890123456';
const cipher = crypto.createCipheriv(algorithm, key, iv);
let result = cipher.update('암호화할 문장', 'utf8', 'base64');
result += cipher.final('base64');
console.log('암호화:', result);
const decipher = crypto.createDecipheriv(algorithm, key, iv);
let result2 = decipher.update(result, 'base64', 'utf8');
result2 += decipher.final('utf8');
console.log('복호화:', result2);
//------------------------------------------------------------------------------------------------4.1_createServer.js
const http = require('http');
http.createServer((req, res) =>
{
//여기에 어떻게 응답할지 적습니다.
});
//------------------------------------------------------------------------------------------------server1.js_http://www.localhost:8082 or <http://127.0.0.1:8080>
const http = require('http');
http.createServer((req, res) =>
{
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8'});
res.write('<h1>푸하하!</h1>');
res.end('<p>푸하하삥빵뽕</p>');
})
.listen(8082, () =>
{
// 서버 연결
console.log('8082번 포트에서 서버 대기 중입니다!');
});
//------------------------------------------------------------------------------------------------server1-1.js_error 이벤트 리스너 추가
const http = require('http');
const server = http.createServer((req, res) =>
{
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8'});
res.write('<h1>아오!</h1>');
res.end('<p>아오오오오오</p>');
})
.listen(8083);
server.on('listening', () =>
{
console.log('8083번 포트에서 서버 대기 중입니다!');
});
server.on('error', (error) =>
{
console.error(error);
});
//------------------------------------------------------------------------------------------------동시에 서버 두개열기
const http = require('http');
http.createServer((req, res) =>
{
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8'});
res.write('<h1>우마이 돈카츠 맛있겠다!</h1>');
res.end('<p>아 빨리 먹으러 가고싶다!!!</p>');
})
.listen(8084, () =>
{
//서버 연결
console.log('8084번 포트에서 서버 대기 중입니다!');
});
http.createServer((req, res) =>
{
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8'});
res.write('<h1>아 집가고싶다!</h1>');
res.end('<p>아직도 오전?</p>');
})
.listen(8085, () =>
{
//서버 연결
console.log('8085번 포트에서 서버 대기 중입니다!');
});
//------------------------------------------------------------------------------------------------server2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Node.js 웹 서버</title>
</head>
<body>
<h1>Node.js 웹 서버</h1>
<p>만들 준비되셨나요?</p>
</body>
</html>
//------------------------------------------------------------------------------------------------server2.js
const http = require('http');
const fs = require('fs').promises;
http.createServer(async (req, res) =>
{
try
{
const data = await fs.readFile('./server2.html');
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8'});
res.end(data);
}catch (err)
{
console.error(err);
res.writeHead(500, { 'Content-Type': 'text/plain; charset=utf-8'});
res.end(err.message);
}
})
.listen(8086, () =>
{
console.log('8086번 포트에서 서버 대기 중입니다!');
});
//------------------------------------------------------------------------------------------------
→ 웹 브라우저에 사용되는 운영체제의 정보를 가져올 수 있도록 도와주는 모듈
→ 폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈