Node.js搭建WEB服务器

Node.js搭建WEB服务器

    • [1. 安装Node和nodemon插件](#1. 安装Node和nodemon插件)
    • [2. 引入http模块](#2. 引入http模块)
    • [3. 创建服务监听端口](#3. 创建服务监听端口)
    • [4. 解析接口地址](#4. 解析接口地址)
    • [5. 解析get参数](#5. 解析get参数)
    • [6. 解析post参数](#6. 解析post参数)

1. 安装Node和nodemon插件

powershell 复制代码
#全局安装nodemon插件
npm i nodemon -g

2. 引入http模块

powershell 复制代码
cosnt http = require('http')

3. 创建服务监听端口

powershell 复制代码
const server = http.createServer((req,res) => {
    if(req.method==='GET'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})

server.listen(3000,()=>{
    console.log('服务器启动成功')
})

4. 解析接口地址

powershell 复制代码
#引入url
const url = require('url')

const server = http.createServer((req,res) => {
	
	cosnt {pathname} = url.parse(res.url)
    if(req.method==='GET' && pathname === '/getInfo'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})

5. 解析get参数

使用url解构出query参数,再使用querystring格式化参数

powershell 复制代码
const qs = require('querystring')

const server = http.createServer((req,res) => {
	
	cosnt {pathname,query} = url.parse(res.url)
    if(req.method==='GET' && pathname === '/getInfo'){
        console.log(qs.parse(query))
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})

6. 解析post参数

powershell 复制代码
const server = http.createServer((req,res) => {
	
	cosnt {pathname,query} = url.parse(res.url)
    if(req.method==='GET' && pathname === '/getInfo'){
        console.log(qs.parse(query))
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('get请求');
    }else if(req.method==='POST'){
    	//接受参数
    	let data = ''
    	req.on('data',temp => {
    	data += temp
    	})
		//接受参数完毕解析
		req.on('end',()=>{
		console.log(qs.data)
		res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('post请求');
		})
        
    }else{
        res.setHeader('Content-Type','text/plain;charset=utf-8')
        res.end('其他请求');
    }
})
相关推荐
java小吕布1 小时前
CentOS 7 服务器性能监控实战指南
linux·服务器·centos
程序员爱钓鱼1 小时前
Node.js 编程实战:图像与文件上传下载
前端·后端·node.js
程序员爱钓鱼1 小时前
Node.js 编程实战:日志管理与分析
后端·面试·node.js
椰子今天很可爱2 小时前
仿照muduo库实现一个高并发服务器
linux·服务器·c++
yesyesyoucan2 小时前
安全工具集:一站式密码生成、文件加密与二维码生成解决方案
服务器·mysql·安全
小豆子范德萨2 小时前
cursor连接远程window服务器的WSL-ubuntu
运维·服务器·ubuntu
kong79069282 小时前
环境搭建-运行前端工程(vue)
前端·前端环境
谷歌开发者2 小时前
Web 开发指向标|开发者工具 AI 辅助功能的 5 大实践应用
前端·人工智能
Xの哲學8 小时前
Linux grep命令:文本搜索的艺术与科学
linux·服务器·算法·架构·边缘计算
快乐肚皮8 小时前
一文了解XSS攻击:分类、原理与全方位防御方案
java·前端·xss