自定义HTTP标头值 – 试图通过元音变音字符

我正在使用Node.js和Express.js 3.x.

作为我们的授权标题之一,我们正在传递用户名。 我们的一些用户名包含变音符号:üöä等。 对于只有“普通”字符的用户名,一切正常。 但是当jörg试图发出请求时,服务器不能识别标题中的变音符号。

试图模拟我的问题:

  • 创build了一些用变音符字符设置用户名头的testing。 这些testing通过,他们能够正确地通过变音符号。
  • 使用“邮递员”和“高级rest客户端”的Chrome扩展程序,并针对服务器手动提出请求 – 在这种情况下,它失败。 我看到服务器无法识别变音符号,它将它解释为某种?

对禁止使用这些字符的自定义HTTP标头值字符有任何限制吗? 任何想法,为什么它会在testing中,但不是从我的浏览器扩展? 我忘了在某处设置一些字符集?

在其他相关问题和评论中写的内容摘要:

  • 您可以在自定义标题值字段中input任何“可打印的”ASCII字符 。
  • 如果您要使用特殊字符,请按照您select的任何规则/字符集/编码对这些字符进行编码。 只要这个编码使用简单的ASCII字符,就没关系。 一个例子是使用UTF-8和编码string字符到\ u %%。
  • 在服务器端 – 你必须从编码的string中手工理解,可能是通过使用你之前select的字符集/编码范例的规则对它进行解码。
Interesting Posts