当前位置: 首页 > article >正文

【前端知识】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}`);
})

二、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}`);
})

三、请求配置与监听

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状态码状态描述信息说明
200OK请求成功
201CreatedPOST请求,创建新的资源
301Moved Pemanently请求资源的URL已经修改,响应中会给出新的URL
400Bad Request客户端的错误,服务器无法或者不进行处理
401Unauthorized未授权的错误,必须携带请求的身份信息
403Forbidden客户端没有权限访问,被拒接
404Not Found服务器找不到请求的资源
500Internal Server Error服务器遇到了不知道如何处理的情况
503Service Unavailable服务器不可用,可能处理维护或者重载状态,暂时无法访问

http://www.kler.cn/a/136873.html

相关文章:

  • 【Rust自学】7.2. 路径(Path)Pt.1:相对路径、绝对路径与pub关键字
  • LeetCode2108 找出数组中的第一个回文字符串
  • RustDesk内置ID服务器,Key教程
  • 龙智出席2024零跑智能汽车技术论坛,分享功能安全、需求管理、版本管理、代码扫描等DevSecOps落地实践
  • 双柱渐变图背景图
  • 基于aspose.words组件的word bytes转pdf bytes,去除水印和解决linux中文乱码问题
  • IP地理位置定位技术:保护网络安全的新利器
  • meterpreter命令
  • js 深度学习(七)
  • Java高级编程-----网络编程
  • 效率提升利器:Automa插件的实用指南
  • 大数据基础设施搭建 - Kafka(with ZooKeeper)
  • clickhouse 业务日志告警
  • excel-gen.js 导出excel 功能
  • 源码安装Apache
  • 【Linux专题】退出bash后再运行jobs命令为什么不会显示后台任务
  • springMVC学习笔记-请求映射,参数绑定,响应,restful,响应状态码,springMVC拦截器
  • CentOS 7 安装CMake指定版本3.21.2
  • 数据库备份
  • 竞赛 题目:基于深度学习的中文汉字识别 - 深度学习 卷积神经网络 机器视觉 OCR
  • 算法(圆的定义和相关术语)
  • 运动装备经营小程序商城效果如何
  • 软件稳定性测试的测试点
  • 多协议数据库管理软件 Navicat Premium 16 mac中文版功能
  • 表内容的操作(增删查改)【MySQL】
  • 模方4.1.0新版本正式上线啦!