【前端知识】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 服务器不可用,可能处理维护或者重载状态,暂时无法访问
相关推荐
web小白成长日记6 小时前
企业级 Vue3 + Element Plus 主题定制架构:从“能用”到“好用”的进阶之路
前端·架构
じ☆冷颜〃6 小时前
黎曼几何驱动的算法与系统设计:理论、实践与跨领域应用
笔记·python·深度学习·网络协议·算法·机器学习
APIshop7 小时前
Python 爬虫获取 item_get_web —— 淘宝商品 SKU、详情图、券后价全流程解析
前端·爬虫·python
风送雨7 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
XTTX1107 小时前
Vue3+Cesium教程(36)--动态设置降雨效果
前端·javascript·vue.js
LYFlied8 小时前
WebGPU与浏览器边缘智能:开启去中心化AI新纪元
前端·人工智能·大模型·去中心化·区块链
Setsuna_F_Seiei8 小时前
2025 年度总结:人生重要阶段的一年
前端·程序员·年终总结
model20058 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
han_9 小时前
从一道前端面试题,谈 JS 对象存储特点和运算符执行顺序
前端·javascript·面试
aPurpleBerry9 小时前
React 01 目录结构、tsx 语法
前端·react.js