Express.js req.range()函数
req.range()函数基本上是一个 Range 标头解析器,其中 Accept-Ranges 响应标头字段允许服务器指示其接受资源的范围请求。
句法:
req.range(size[, options])
范围:
- size:资源的最大大小。
- options:它是一个可以具有组合属性的对象。
返回值:它返回一个范围数组。
express模块的安装:
- 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
npm install express
- 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
npm version express
- 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
node index.js
示例 1:文件名:index.js
var express = require('express');
var app = express();
var PORT = 3000;
app.get('/', function (req, res) {
console.log(req.get('Range'));
console.log(req.range());
res.end();
});
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
运行程序的步骤:
- 项目结构将如下所示:
- 确保您已使用以下命令安装express模块:
npm install express
- 使用以下命令运行 index.js 文件:
node index.js
输出:
Server listening on PORT 3000
- 现在向http://localhost:3000/发出 GET 请求,标头设置为' Range: bytes=200-1000' ,然后您将在控制台上看到以下输出:
Server listening on PORT 3000 bytes=200-1000 [ { start: 200, end: 1000 }, type: 'bytes' ]
示例 2:文件名:index.js
var express = require('express');
var app = express();
var PORT = 3000;
app.get('/', function (req, res) {
// Without range header set
console.log(req.range());
res.end();
});
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
使用以下命令运行 index.js 文件:
node index.js
现在向http://localhost:3000/发出 GET 请求,不设置任何标头,然后您将在控制台上看到以下输出:
Server listening on PORT 3000
undefined
参考: https://expressjs.com/en/5x/api.html#req.range