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

相关推荐
小木话安全15 分钟前
ISO27001 高阶架构 之 支持 -2
网络·安全·职场和发展·学习方法
破刺不会编程3 小时前
socket编程UDP
linux·运维·服务器·网络·c++·网络协议·udp
Warren986 小时前
Lua 脚本在 Redis 中的应用
java·前端·网络·vue.js·redis·junit·lua
NEXU59 小时前
Linux:套接字
linux·服务器·网络
FreeBuf_11 小时前
CERT/CC警告:新型HTTP/2漏洞“MadeYouReset“恐致全球服务器遭DDoS攻击瘫痪
服务器·http·ddos
萌萌哒草头将军11 小时前
Node.js v24.6.0 新功能速览 🚀🚀🚀
前端·javascript·node.js
行星00811 小时前
mac 通过homebrew 安装和使用nvm
macos·npm·node.js
monster_风铃12 小时前
华为实验 链路聚合
网络·华为
油丶酸萝卜别吃14 小时前
nginx配置代理服务器
运维·网络·nginx
伯恩bourne15 小时前
MIME(多用途互联网邮件扩展)
网络·网络协议