前言
Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以_向浏览器等 Web 客户端提供文档_,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个 Web 服务器是 Apache Nginx IIS。废话不多说,来看看本次分享 都有哪些亮点吧!
一、Nodejs 构建简单的 WEB 服务器
关键词:Web服务器 Node.js
1. 引入 HTTP 模块
const http = require('http')
2. 用 HTTP模块 创建服务
const Server=http.createServer((req,res)=>{
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
//设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf-8
res.writeHead(200,{"Content-Type":"text/html;charset='utf-8'"});
res.write('你好 nodejs');
res.write('我是第一个 nodejs 程序');
res.end(); /*结束响应*/
})
Server.listen('8001')
3. 用HTTP模块、fs模块、url模块、path模块来搭建一个静态web服务器
/*
通过nodejs 中的
HTTP模块、URL模块、fs模块、Path模块
来构建静态资源服务器
*/
// 引入HTTP模块来创建web服务器
var http = require('http')
// 引入fs模块来进行文件操作
var fs = require('fs')
// 引入path模块,可以拿到请求文件的后缀名
var path = require('path')
// 引入url模块来处理请求的数据
var url = require('url')
// 引入自定义模块,获取`得到后缀名`的函数
var mimeModel = require('./model/getmime.js');
http.createServer((req, res) => {
// res.write('hello node.js')
// http://localhost:8001/news.html /news.html
// http://localhost:8001/index.html /index.html
var pathname = url.parse(req.url).pathname; //通过url.parse()直接获取请求的数据路径
// 过滤请求
if (pathname == '/') {
pathname = 'index.html'; //默认加载首页
}
// 获取文件的后缀名,根据不同的后缀名返回不同的信息
var extname = path.extname(pathname);
if (pathname != '/favicon.ico') {
// 通过文件操作来获取static下面的index.html
fs.readFile('./创建WEB服务器/static/' + pathname, (err, result) => {
if (err) {
fs.readFile('./创建WEB服务器/static/404.html', (error, data) => {
if (error) {
console.log(error)
return
}
res.writeHead(404, { "Content-Type": "text/html;charset='utf-8' " });
res.write(data);
res.end() //结束响应
})
} else {
// 这就实现了最基本的静态web服务
// 响应头
var mime = mimeModel.getMime(extname); //获取文件类型
res.writeHead(200, { "Content-Type": "" + mime + ";charset='utf-8' " });
res.write(result);
res.end() //结束响应
}
})
}
}).listen(8001)
结语
OK,这次的 分享到这就结束了,虽然看起来构建WEB静态资源服务器简单,但是也需要动手练习才能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)