在节点中访问 API 请求的授权标头的语法

问题描述 投票:0回答:1

 const authHeader = req.headers["authorization"];
如果这个问题看起来很基本,我很抱歉,但我很好奇为什么我们使用 [“授权”] 而不仅仅是 .authorization

我做了一些研究,发现这与下/上壳有关,但我发现的答案并不适合我。我想知道是否有人有更好的解释。

javascript node.js express authentication token
1个回答
0
投票

其原因主要涉及 JavaScript 对象如何处理属性名称,特别是当这些名称包含特殊字符或空格时。

在 JavaScript 中,您可以通过两种方式访问对象属性:点表示法和方括号表示法。括号表示法

object["property"]
更加灵活,允许访问名称包含特殊字符或空格的属性。

根据 HTTP 规范,HTTP 标头不区分大小写。这意味着

Authorization
authorization
AUTHORIZATION
应被同等对待。使用
req.headers["authorization"]
可确保您显式访问名为授权的属性,无论它的大小写如何或是否包含特殊字符。

© www.soinside.com 2019 - 2024. All rights reserved.