1.实验目的
使用Node.js创建一个简单的HTTP服务器。
2.实验方法
使用http模块创建一个简单的HTTP服务器,能够通过fs模块读取文本、图片等文件并通过服务器发送给浏览器。
3.实验环境
windows10操作系统
node.js v8.9.4版本
4.实验步骤
4.1. HTTP服务器搭建
const http = require("http"); //导入http模块
const server = new http.Server(); //创建http.Server对象
server.on("request", function(req, res) { //客户端请求时触发request事件
res.writeHead(200, { //向请求的客户端发送响应头
"content-type": "text/plain"
});
let data = "hello,world";
res.write(data); //向请求的客户端发送内容
res.end(); //结束请求
});
server.listen(3000, function() { //监听端口3000
console.log('HTTP服务器开启成功');
});
4.2. 访问HTML页面
执行上述程序后,即可打开浏览器(http://localhost:3000/)查看发送的文件。
4.3. 举一反三
引入fs模块后,只需要根据文件类型替换响应头就能实现向浏览器发送不同类型文件。
const http = require("http");
const fs = require("fs"); //引入fs模块
const server = new http.Server();
server.on("request", function(req, res) {
res.writeHead(200, {
"content-type": "image/jpg" //更换响应头
});
let data = fs.readFileSync("./girl.jpg"); //选择发送的文件
res.write(data);
res.end();
});
server.listen(3000, function() {
console.log('HTTP服务器开启成功');
});
响应头与文件类型对应关系见参考文献。
5 .参考文献
- http模块:http://nodejs.cn/api/http.html
- 响应头与文件类型对应关系:http://tool.oschina.net/commons