在IIS中托管时,IDN字符断开的位置标头

Sve*_*aut 6 asp.net iis asp.net-web-api

对于我们API中的一些POST调用,我们将响应Location头指向创建的资源.

Location标头可以包含带IDN字符的URL(例如http://résponse.com)

在IIS中托管API时,IIS会将Location标头更改为 http://résponse.com/

那里的编码肯定有问题.当我们自己托管API时,不会触及Location标头.IIS中是否存在一些导致此行为的设置?内容类型charset设置为utf-8,但这已经是IIS中的默认值.

IIS的版本是8.5+我们使用Web API,但使用NancyFx会导致相同的行为.

Sve*_*aut 0

我现在只是对特殊字符进行了弱编码,但我仍然不明白为什么 IIS 会更改标头,而自托管解决方案不会更改标头