📅  最后修改于: 2023-12-03 15:17:54.801000             🧑  作者: Mango
rawHeaders
方法是 Node.js Http2 模块中 Http2ServerRequest 对象的一个属性,用于获取 HTTP 2.0 请求的原始标头(header)数组。它返回一个包含请求标头的数组,每个标头都是一个键值对。
request.rawHeaders
返回一个数组,其中包含请求的原始标头。
const http2 = require('http2');
const server = http2.createServer();
server.on('request', (request, response) => {
const headers = request.rawHeaders;
console.log('原始标头:');
console.log(headers);
});
server.listen(3000);
- Accept-Encoding
- User-Agent
- Host
- Connection
- ...
rawHeaders
返回的是一个数组,其中每个标头都是交替出现的键和值。例如,第一个元素是第一个标头的键,第二个元素是第一个标头的值,如此类推。请注意,它不会对标头键或值进行任何处理,包括去掉空格等。
如果标头具有多个值(即多个相同的键),则每个值都被视为单独的标头。
rawHeaders
是只读属性,无法修改请求的原始标头。
在 HTTP1.1 中,标头是不区分大小写的,而在 HTTP2 中是区分大小写的。因此,对于相同名称但大小写不同的标头,它们在 rawHeaders
数组中将被视为不同的标头。
为了方便地获取单个标头的值,可以使用 Http2ServerRequest.headers
对象。例如,要获取 Content-Type
标头的值,可以使用 request.headers['content-type']
。