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

【前端知识】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.lryc.cn/news/241408.html

相关文章:

  • 平衡二叉树 (简单易懂)
  • Vue.observable 是什么
  • 【五年创作纪念日】
  • 数据库基础入门 — SQL排序与分页
  • WordPress站点屏蔽过滤垃圾评论教程(Akismet反垃圾评论插件)
  • Modbus-RTU协议讲解与实战
  • 数据结构 查找基本概念
  • 『Linux升级路』基础开发工具——gcc/g++篇
  • 面试:RocketMQ相关问题
  • 2304. 网格中的最小路径代价 : 从「图论最短路」过渡到「O(1) 空间的原地模拟」
  • 【机器学习】算法性能评估常用指标总结
  • 前端 JavaScript 与 HTML 怎么实现交互?
  • 命令执行总结
  • 机器学习——词向量模型(CBOW代码实现-未开始)
  • 智慧海岛/海域方案:助力海洋空间智慧化、可视化管理
  • Bin、Hex、ELF、AXF的区别
  • IDEA安装教程
  • DRF-项目-(1):构建纯净版的drf项目,不再使用django的后台管理,django的认证,django的session等功能,作为一个纯接口项目
  • ubuntu 手动清理内存cache
  • gitBash中如何使用Linux中的tree命令
  • 【鸿蒙应用ArkTS开发系列】- 灌水区,鸿蒙ArkTs开发有问题可以在该帖中反馈
  • c语言习题1124
  • 线段树---数据结构学习
  • linux基础5:linux进程1(冯诺依曼体系结构+os管理+进程状态1)
  • JVM-基础
  • Baidu Comate 基于百度文心一言的智能编码助手
  • 基本微信小程序的图书馆座位管理系统
  • 2023年亚太杯数学建模A题水果采摘机器人的图像识别功能(免费思路)
  • AWS CLI和EKSCTL的客户端设置
  • 分组背包问题学习笔记 AcWing 9. 分组背包问题