index.ejs
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title><%=title %></title> <link type="text/css" href="./style.css" rel="stylesheet"> </head> <body> <h1><%=title %></h1> <p><%=msg %></p> </body> </html>
hello.js
var http = require('http'); var fs = require('fs'); var url = require('url'); var ejs = require('ejs'); var index = fs.readFileSync('./index.ejs', 'utf8'); var style = fs.readFileSync('./style.css', 'utf8'); var server = http.createServer(); server.on('request', doRequest); server.listen(1337); function doRequest(req, res) { var path = url.parse(req.url); switch(path.pathname) { case '/': var ck = req.headers.cookie; var tmp = ejs.render(index, { title: "Index Page", msg:"クッキー: " + ck }); res.setHeader('Content-Type','text/html'); res.write(tmp); res.end(); break; case '/style.css': // スタイルシート用 res.setHeader('Content-Type','text/css'); res.write(style); res.end(); break; default: res.setHeader('Content-Type', 'text/plain'); res.setHeader('Set-Cookie', ['lasturl=' + path.pathname]); res.write('SET COOKIE!'); res.end(); break; } } console.log('Server running at http://127.0.0.1:1337/');
だいたいこんな感じ。
クッキーは、Webブラウザ内で保管しておくことのできる小さなデータである。 これにより、ちょっとした情報を各クライアントに保管しておくことができる。