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排序找到对应的就关闭对应的程序

相关推荐
Bug退散师11 小时前
多路IO复用[select版TCP服务器与poll版TCP服务器]与常用网络编程函数详解
linux·服务器·c语言·网络·驱动开发·tcp/ip
Acrellea12 小时前
固态变压器(SST)热管理破局:安科瑞交直流专属测温方案护航无人值守运维
运维·网络
振浩微433射频芯片12 小时前
5个IO控制20个LED?查理复用实战拆解
网络·单片机·物联网·学习·智能家居
rcms1527026921812 小时前
IS200TREAH2A 终端板
网络
小邓的技术笔记12 小时前
解析 gin 接收到 http 请求是怎么处理的
网络协议·http·gin
Dreamboat-L12 小时前
NVM的安装与使用(保姆级教程)
npm·node.js
TlSfoward13 小时前
TLSFOWARD抓包工具 TLS指纹
网络协议·http·百度·https
海外数字观察家13 小时前
品未云:泰国华商批发零售一体化 ERP,破解本土软件适配难题|CSDN 技术分享
网络·数据库·人工智能
测功机之家14 小时前
精密传动,可靠测试:杭州索川科技减速机测试台解决方案深度解析
大数据·网络·科技
拾年27514 小时前
RAG 灵魂三问:你的文档是怎么"喂"给大模型的?
langchain·node.js·llm