node.js (二)内置http模块,从req.url中获取请求参数

本文详细介绍了Node.js内置的http模块,重点讲解如何从req.url中获取请求参数。通过创建http服务器,监听事件,利用http.IncomingMessage对象的属性如req.url、req.headers等获取请求信息。此外,还探讨了GET和POST请求中参数的获取方法,对于GET请求,可通过url.parse和querystring.parse转化查询字符串;对于POST请求,需要监听请求体数据并使用Buffer模块处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http

Node内置的http模块功能使得它非常适合用来开发Web程序。与apache不同,apache为静态服务器,用于将浏览器端请求的静态资源返回。而http模块可以开发动态接口,用于处理前端业务,比如登录,注册,查询资讯信息等。

使用流程:

  1. 引入http模块
  2. 创建服务对象
  3. 在创建的服务对象中编写需要执行的操作代码
  4. 打开服务并对创建的服务对象进行监听或者其他操作

创建:http.Server
http.createServer()表示创建一个服务,该函数的返回值为http.Server的实例。

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

函数:
server.listen()打开服务,并且监听端口
erver.close()关闭服务
事件:
server.on(‘close’,callback)当服务关闭,执行callback函数
server.on(‘error’,callback)当服务发送错误,执行callback函数
server.on(‘connection’,callback)当服务连接后,执行callback函数
server.on(‘timeout’,callback)监听超时调用函数,当超时调用函数执行时,执行callback函数

编写服务对象内执行函数:http.IncomingMessage
HTTP服务器接收到的客户端请求时调用的回调函数中的第一个参数值为一个http.IncomingMessage对象,该对象用于读取客户端请求流中的数据。
当从客户端请求流中读取到新的数据时触发data事件,当读取完客户端请求流中的数据时触发end事件

属性:
eq.method 请求方法
req.url 请求url
req.headers 请求头
req.httpVersion 请求版本号
req.socket 底层socket连接对象

事件:
req.on(‘data’,callback)用于监听data函数,是否有读取新数据
req.on(‘end’,callback) 监听是否读取完毕

示例一:简单的链接过程

var http = require("http");
//引入http服务

//创建服务对象
var server = http.createServer(function(req, res) {
   
    var url = req.url;
    var method = req.method;
    console.log(url, method);
});

//启动并监听端口
server.listen(8080, function() {
   
    console.log("8080端口监听成功---");
});
server.on('connection', function() {
   
    console.log("服务器连接成功");
});

运行代码之后使用浏览器访问本地127.0.0.1:8080/student?name="lisi’,可以看到控制台输出的监听内容。

============================

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值