这篇文章主要介绍了Node http模块基本使用方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node http模块基本使用方法是什么文章都会有所收获,下面我们一起来看看吧。 使用 Node.js 中创建 Web 服务,主要依赖内置的 http
模块。经典的 express.js、koa.js 框架都是以 http
模块为核心,进行的不同程度的封装。创建一个最简单的 Web 服务只需要几行代码。新建一个 index.js
文件,输入以下内容:
//1.导入http模块 consthttp=require('http'); //2.调用createServer方法创建服务 constserver=http.createServer((request,response)=>{ //3.响应给浏览器的内容 response.end('Hello,World'); }); //4.执行listen方法,启动服务 server.listen(3000,()=>{ console.log('服务器启动成功:http://localhost:3000') })
然后打开命令行工具,使用 node
命令执行该文件:
nodeindex.js
命令行工具中会打印:
服务器启动成功:http://localhost:3000
之后打开浏览器,访问 http://localhost:3000,就能看到以下内容:到这里,只需件简简单单的 6 行代码,就创建了一个 web 服务。可以看到,创建 Web 服务的核心方法就是 createServer
方法。它接收一个回调函数,回调参数接收两个参数,分别是 :request 对象:表示 HTTP 请求对象,里面包含了客户端本次请求携带的信息response 对象:表示 HTTP 响应对象,用于向客户端设置响应的信息这个回调函数,就是处理 http 请求,设置 http 响应的主要场所。所以,编写 web 服务,其实就是在不停的在这个函数中处理请求和响应内容。这也是基于 HTTP 协议本身的请求-响应模型所决定的。当然,实际开发中肯定不能这么杂糅的写,都是使用框架,那会有很合理的中间件机制和分层。我们都知道,TCP 协免费云主机域名议是 HTTP 协议的底层协议,所有 HTTP 请求的数据都是利用 TCP 传输的。要发送 HTTP 请求,必须先建立 TCP 连接。Node 中要创建 HTTP 服务也是如此。createServer
方法执行后会创建一个 Server
类的实例,该 Server
类又继承自另一个内置模块 net
中的 Server
类,它身上有一个 listen
方法。下面是相关的类型声明,可以理解这其中的关系。
//net模块 classServerextendsEventEmitter{ /** *启动服务器监听连接。此Server可以是TCP或IPC服务器,具体取决于它所监听的内容。 */ //有若干重载,这是最常使用的一种方法 listen(port?:number,hostname?:string,listeningListener?:()=>void):this; listen(port?:number,listeningListener?:()=>void):this; } //http模块 import{ServerasNetServer}from'node:net'; functioncreateServer(requestListener?:RequestListener):Server ; classServerextendsNetServer{}
所以通过 createServer
方法创建了服务之后,还用再调用 listen
方法,用于启动该服务,监听连接。它有多种重载,最常用的一种就是监听一个端口,在启动成功后,执行回调函数:
server.listen(3000,()=>{ console.log('服务器启动成功:http://localhost:3000') })
如果服务启动失败,比如出现端口占用时,控制台中会直接报错,就不再执行后面的回调函数了。再介绍两种其他的重载,使用的并不多。一种是不指定端口号,此时操作系统会随机分配一个可用的端口号。在服务启动成功后,可以通过 server.address().port
属性来获得分配的端口号:
server.listen(()=>{ constport=server.address().port console.log(port) console.log('服务器启动成功:http://localhost:',port) })
试一下:一种是指定要监听的主机名。当不指定 host
时,默认为 0.0.0.0
(IPv4)或者 ::
(IPv6),支持网络中所有的主机进行访问。如果设置为 locolhost
或者 127.0.0.1
,则只能自己的主机访问。
server.listen(3000,'localhost',()=>{ console.log('服务器启动成功:http://localhost:',port) })
关于“Node http模块基本使用方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Node http模块基本使用方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。
本文小编为大家详细介绍“golang中的defer函数怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang中的defer函数怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。go语言中defer可以完成延迟功能,当前…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。