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

相关推荐
小陈又菜1 小时前
【QT学习之路】网络通信新次元!Qt TCP双侠:Server监听瞬息,Socket连接万变
qt·网络协议·tcp/ip·socket
C2H5OH6661 小时前
Netty详解-02
java·websocket·网络协议·tcp/ip·tomcat·netty·nio
00后程序员张2 小时前
HTTP抓包工具推荐,Fiddler配置方法、代理设置与使用教程详解(开发者必学网络调试技巧)
网络·http·ios·小程序·fiddler·uni-app·webview
JZZC22 小时前
29. HTTP
计算机网络·http·ensp
Chief_fly2 小时前
RestTemplate 和 Apache HttpClient 实现 HTTP 请求
网络协议·http·apache
百***41663 小时前
node.js+npm的环境配置以及添加镜像(保姆级教程)
arcgis·npm·node.js
百***41663 小时前
2024最新版Node.js下载安装及环境配置教程【保姆级】
node.js
qq_356531453 小时前
浏览器访问web服务器经过了哪些过程
网络协议
それども4 小时前
HTTP接口和Dubbo接口区别
网络协议·http·dubbo
铭哥的编程日记4 小时前
【Linux网络】应用层协议HTTP
linux·运维·http