MST

星途 面试题库

面试题:Node.js http模块下处理复杂请求头的应用场景及实现

在Node.js的http模块中,当客户端发送包含复杂自定义请求头(例如`X - Custom - Header: value1;value2;value3`这种多值且有特定分隔符的格式)的请求时,阐述一个可能的应用场景,并编写代码来解析这个自定义请求头,提取出其中的值。
11.5万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

应用场景

在微服务架构中,服务之间传递一些需要特殊处理的上下文信息时,可能会用到这种复杂格式的自定义请求头。例如,传递多个用户角色信息,用分号分隔每个角色,这样接收方服务可以依据这些角色信息进行不同的权限控制或业务逻辑处理。

代码实现

const http = require('http');

const server = http.createServer((req, res) => {
    const customHeader = req.headers['x-custom-header'];
    if (customHeader) {
        const values = customHeader.split(';');
        console.log('解析出的值:', values);
    }
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Server is running');
});

const port = 3000;
server.listen(port, () => {
    console.log(`Server running on port ${port}`);
});