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

一、创建简易Server

javascript 复制代码
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}`);
})

二、url相关处理

javascript 复制代码
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}`);
})

三、请求配置与监听

javascript 复制代码
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}`);
})

四、常用HTTP CODE

HTTP状态码 状态描述 信息说明
200 OK 请求成功
201 Created POST请求,创建新的资源
301 Moved Pemanently 请求资源的URL已经修改,响应中会给出新的URL
400 Bad Request 客户端的错误,服务器无法或者不进行处理
401 Unauthorized 未授权的错误,必须携带请求的身份信息
403 Forbidden 客户端没有权限访问,被拒接
404 Not Found 服务器找不到请求的资源
500 Internal Server Error 服务器遇到了不知道如何处理的情况
503 Service Unavailable 服务器不可用,可能处理维护或者重载状态,暂时无法访问
相关推荐
灵感__idea4 小时前
Hello 算法:贪心的世界
前端·javascript·算法
GreenTea6 小时前
一文搞懂Harness Engineering与Meta-Harness
前端·人工智能·后端
killerbasd7 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js
吴声子夜歌7 小时前
ES6——二进制数组详解
前端·ecmascript·es6
码事漫谈8 小时前
手把手带你部署本地模型,让你Token自由(小白专属)
前端·后端
ZC跨境爬虫8 小时前
【爬虫实战对比】Requests vs Scrapy 笔趣阁小说爬虫,从单线程到高效并发的全方位升级
前端·爬虫·scrapy·html
爱上好庆祝8 小时前
svg图片
前端·css·学习·html·css3
王夏奇8 小时前
python中的__all__ 具体用法
java·前端·python
handsomestWei9 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
大家的林语冰9 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js