Node.js创建本地Web服务器

想要使用Node.js中的http模块创建本地Web服务器
首先我们来了解一下HTTP协议
+ 请求方式(Request Method)
+  GET 请求数据
+  POST 请求数据
+ 请求地址
```bash
app.on('request', (req, res) => {
req.headers // 获取请求报文
req.url		// 获取请求地址
req.method 	// 获取请求方法
});
```
响应报文

1.HTTP状态码
(1)、20请求成功
(2)、404请求的资源没有被找到
(3)、500服务器端错误
(4)、400客户端请求语法有错误
2.内容类型
(1)、text/html
(2)、text/css
(3)、application/javascript
(4)、image/jpeg
(5)、application/json

创建本地Web服务器:
// 用于创建网站服务器的模块
const http = require('http');
// app对象就是网站服务器对象
const app = http.createServer();
// 当与客户端有请求来的时候
app.on('request', (req, res) => {
    // 获取请求的方式
    // req.method

    // 获取请求地址
    // req.url
    // console.log(req.url);

    // 获取请求报文信息
    // req.headers
    // console.log(req.headers['accept']);
    
    res.writeHead(200, {
        'content-type' : 'text/html; charse=utf8'	
        });
    
    if(req.url == '/index' || req.url == '/'){
        res.end('<h2>welocom to homepage</h2>')
    }else if(req.url == '/list'){
        res.end('welocom to listpage')
    }else {
        res.end('not found')
    }
    console.log(req.method);
    if(req.method == 'POST'){
        res.end('post');
    }else if (req.method == 'GEI'){
        res.end('get')
    }
    // res.end('<h2>hello user</h2>');
});
// 监听端口
app.listen(3000);
console.log('网站服务器启动成功');
实现路由功能:
// 1.引入系统模块http
// 2. 创建网站服务器
// 3. 为网站服务器对象添加请求事件
// 4. 实现路由功能
    // 1. 获取客户端的请求方式
    // 2. 获取客户端的请求地址
// 5. 监听
const http = require('http');
const url = require('url');

const app = http.createServer();

app.on('request', (req, res) => {
    // 获取请求方式
    const method = req.method.toLowerCase();
    // 获取请求地址
    const pathname = url.parse(req.url).pathname;

    res.writeHead(200, {
        'content-type': 'text/html; charset=utf8'
    });
    console.log(req.url);

    if (method == 'get') {
        if (pathname == '/' || pathname == '/index') {
            res.end('欢迎来到首页');
        } else if (pathname == '/list') {
            res.end('欢迎来到列表页');
        } else {
            res.end('您访问的页面不存在哦亲')
        }
    } else if (method == 'post') {

    }
})
app.listen(3000);
console.log('服务器端启动成功');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值