JavaScript

超轻量级php框架startmvc

NodeJS http模块用法示例【创建web服务器/客户端】

更新时间:2020-09-21 09:30:01 作者:startmvc
本文实例讲述了NodeJShttp模块用法。分享给大家供大家参考,具体如下:Node.js提供了http模块

本文实例讲述了NodeJS http模块用法。分享给大家供大家参考,具体如下:

Node.js提供了http模块,用于搭建HTTP服务端和客户端。

创建Web服务器


/**
 * node-http 服务端
 */
let http = require('http');
let url = require('url');
let fs = require('fs');
// 创建服务器
let server = http.createServer((req, res) => {
 // 解析请求
 let pathname = url.parse(req.url).pathname; // 形如`/index.html`
 console.log('收到对文件 ' + pathname + '的请求');
 // 读取文件内容
 fs.readFile(pathname.substr(1), (err, data) => {
 if (err) {
 console.log('文件读取失败:' + err);
 // 设置404响应
 res.writeHead(404, {
 'Content-Type': 'text/html'
 });
 }
 else {
 // 状态码:200
 res.writeHead(200, {
 'Content-Type': 'text/html'
 });
 // 响应文件内容
 res.write(data.toString());
 }
 // 发送响应
 res.end();
 });
});
server.listen(8081);
console.log('服务运行在:http://localhost:8081,请访问:http://localhost:8081/index.html');

index.html


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Node http</title>
</head>
<body>
 <h1>Hi~</h1>
</body>
</html>

运行server.js,打开浏览器访问。

创建客户端

client.js


/**
 * node http 创建客户端
 */
let http = require('http');
// 请求选项
let options = {
 host: 'localhost',
 port: '8081',
 path: '/index.html'
};
// 处理响应的回调函数
let callback = (res) => {
 // 不断更新数据
 let body = '';
 res.on('data', (data) => {
 body += data;
 });
 res.on('end', () => {
 console.log('数据接收完成');
 console.log(body);
 });
}
// 向服务端发送请求
let req = http.request(options, callback);
req.end();

运行server.js,再运行client.js。

希望本文所述对大家node.js程序设计有所帮助。

NodeJS http模块 web服务器 客户端