欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Node.js】学习记录7-node里的内置http模块

程序员文章站 2022-04-18 18:31:20
...

文章目录

前言

node里除了有http模块,还有http2、https模块,具体的api比较多,推荐看文档

这里就记录一些比较简单初学的使用方式。http模块能够实现简单的服务器,不需要单独去安装这些服务器软件。

url

这篇文章先简单介绍一点url的知识,之后详细内容会更新到【网络基础】这个专栏里。

url就简单的理解为一个网络文件的地址,主要组成部分有:

  • 模式/协议(scheme);
  • 域名/ip地址;
  • 端口;
  • 文件路径/文件名(可理解为路由);
  • 查询字符串(类似路由参数);

回环地址:所有计算机都有一个指向自己的默认地址,例如127.0.0.1:3000;
本地地址:一般我们启动的本机网络服务都会默认是本地地址,例如localhost:3000,指向127.0.0.1:3000;

简单使用

首先要引入内置http模块

var http = require("http"); 

然后实例化模块对象

var xxx = http.createServer(function(req, res){
	...
})

回调中的两个参数是两个有很多内容的对象,req就是request请求对象,res就是response响应对象。这里就简单讲几个api:

req:

req.url // 代表前端发送过来的url
req.method // 获取浏览器发送数据的方式,比如大写的POST、GET

req.on // 用来监听前台发送过来的数据(不包括地址)后,做出反应。
req.on('data',function (chunk) { // 当浏览器有数据发送过来的时候就会触发后面的函数
	// 其中chunk参数:表示数据块,浏览器把数据切块来分块发送,比如把username=123&password=123分成75 73 65 72 6e 61 6d 65 3d 31 32 33 26 70 61 73 73 77 6f 72 64 3d 31 32 33来传输
	...
})
req.on('end',function () { // 数据接收完成以后触发后面的函数
	...
})

res:

res.write() // 向前端发送document.write()
res.end() // 结束发送,必须加
res.setHeader("content-type", "text/html;charset=utf-8") // utf-8解码发送,让res发送给前台的html的内容以utf-8解码,否则会出现乱码

最后要监听端口:

app.listen(端口号) // 在每个实例化html的文件中,都需要一个接口,让服务器来通过接口来访问到这个文件。

例子

相关标签: Node.js