http模块 之 如何创建一个http服务?

一、如何创建一个http服务:

(1)导入http模块
javascript 复制代码
const http=require('http');
(2)创建一个 HTTP 服务器对象
javascript 复制代码
const server=http.createServer((request,response)=>{
// createServer接收一个实参,该实参是一个函数。函数可以是箭头函数匿名函数function等等。
// 该函数包含两个行参。第一个request(请求),接收请求报文的封装对象,借助与它可以获取到请求报文的封装内容。第二个response(响应),是对响应报文的封装对象,可以为浏览器设置响应结果。
// 使用createServer指定每次服务器收到请求时要执行的函数。此函数用于处理来自用户的请求以及返回给用户的响应。
response.end('Hello HTTP Server'); //设置响应内容  end设置响应体
response.setHeader('content-type','text/html;charset=utf-8'); //解决如下哈哈哈文字乱码问题
response.end('哈哈哈'); //设置响应内容  end设置响应体
})
(3)监听端口,启动服务
javascript 复制代码
server.listen(9000,()=>{
    console.log('服务已启动...');
});
// listen有两个参数,第一个是端口号,第二个是回调函数,当服务启动成功后执行

二、注意事项

(1)命令行ctrl+c停止服务

(2)当服务启动后,更新代码必须重启服务才能生效

(3)响应内容中文乱码的解决办法 response.setHeader('content-type','text/html;charset=utf-8');

(4)端口号被占用(Error:listen EADDRINUSE: address already in use :::9000)

解决办法:1》关闭当前运行监听窗口的服务 2》修改其他端口号

(5)HTTP协议默认端口号是80,HTTPS协议默认端口号是443,HTTP服务开发常用端口号有3000,8080,8090,9000等等

(6)如果端口被其他程序占用,可以使用资源监视器点击侦听端口,找到占用端口程序,打开任务管理器按照pid排序找到对应的就关闭对应的程序

相关推荐
codingWhat8 小时前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js
ServBay9 小时前
Node.js、Bun 与 Deno,2026 年后端运行时选择指南
node.js·deno·bun
码路飞15 小时前
Node.js 中间层我维护了两年,这周终于摊牌了——成本账单算完我人傻了
node.js
不可能的是16 小时前
前端 SSE 流式请求三种实现方案全解析
前端·http
None3212 天前
【NestJs】使用Winston+ELK分布式链路追踪日志采集
javascript·node.js
Dilettante2582 天前
这一招让 Node 后端服务启动速度提升 75%!
typescript·node.js
Mr_li2 天前
NestJS 集成 TypeORM 的最优解
node.js·nestjs
Jony_2 天前
高可用移动网络连接
网络协议
UIUV2 天前
node:child_process spawn 模块学习笔记
javascript·后端·node.js
chilix3 天前
Linux 跨网段路由转发配置
网络协议