• 【前端知识】Node——http模块&url模块的常用操作


    一、创建简易Server

    const http = require('http');
    const URL = require('url');
    
    const HTTP_PORT = 8088;
    
    const server = http.createServer((req, res) => {
        // req:request请求对象,包含请求相关的信息;
        // res:response响应对象,包含我们要发送给客户端的信息;
        const { headers, method, url } = req;
        console.log( headers, method, url);
    });
    
    server.listen(HTTP_PORT, () => {
        console.log(`🚀 Outman 服务器已启动,端口:${HTTP_PORT}`);
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    二、url相关处理

    const http = require('http');
    const URL = require('url');
    
    const HTTP_PORT = 8088;
    
    const server = http.createServer((req, res) => {
        // req:request请求对象,包含请求相关的信息;
        // res:response响应对象,包含我们要发送给客户端的信息;
        const { headers, method, url } = req;
        console.log( headers, method, url);
    
        // url处理
        if(url === '/login'){
            res.end('hello outman');
        }else if(url === '/products'){
            res.end('products list');
        }else{
            res.end('error request');
        }
    
        // url带参解析(GET)
        const parseInfo = URL.parse(req.url);
        console.log(parseInfo);
        const { pathname, query } = URL.parse(req.url);
        const queryObj = URL.parse(query);
        console.log(pathname, queryObj);
    });
    
    server.listen(HTTP_PORT, () => {
        console.log(`🚀 Outman 服务器已启动,端口:${HTTP_PORT}`);
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    三、请求配置与监听

    const http = require('http');
    const URL = require('url');
    
    const HTTP_PORT = 8088;
    
    const server = http.createServer((req, res) => {
        // req:request请求对象,包含请求相关的信息;
        // res:response响应对象,包含我们要发送给客户端的信息;
        const { headers, method, url } = req;
        console.log( headers, method, url);
    
        // req 配置 & 监听
        req.setEncoding('utf-8');
        // 监听获取body中的参数(POST)
        req.on('data', (data) => {
            console.log('data', data);
            const { username, password } = JSON.parse(data);
            console.log(username, password);
        });
        req.on('end', () => {
            console.log('传输结束');
        });
        res.end('outman msg')
    });
    
    server.listen(HTTP_PORT, () => {
        console.log(`🚀 Outman 服务器已启动,端口:${HTTP_PORT}`);
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    四、常用HTTP CODE

    HTTP状态码状态描述信息说明
    200OK请求成功
    201CreatedPOST请求,创建新的资源
    301Moved Pemanently请求资源的URL已经修改,响应中会给出新的URL
    400Bad Request客户端的错误,服务器无法或者不进行处理
    401Unauthorized未授权的错误,必须携带请求的身份信息
    403Forbidden客户端没有权限访问,被拒接
    404Not Found服务器找不到请求的资源
    500Internal Server Error服务器遇到了不知道如何处理的情况
    503Service Unavailable服务器不可用,可能处理维护或者重载状态,暂时无法访问
  • 相关阅读:
    HALCON: 对象(object)从声明(declaration)到结束(finalization)
    Go语言学习——map
    JVM 程序计数器
    R-CNN、Fast RCNN和Faster RCNN的详细讲解
    发挥服务器的无限潜能:创意项目、在线社区和更多
    如何实现python构建打包供他人安装
    Mybatis的各种查询功能
    Linux 业务突然宕机、系统卡死、磁盘空间爆满,该怎么查?
    使用 JWT 生成 token
    多层感知机学习XOR实例
  • 原文地址:https://blog.csdn.net/weixin_42919342/article/details/134529674