它是否向www.example.com 发送重定向请求?还是向http://fakedomain.com/my/abc/www.example.com发送重定向请求?
请求应该被重定向到http://fakedomain.com/my/abc/www.example.com。
RFC 7231 对Location 标头说以下内容(突出显示是我的):
7.1.2. Location
Location 标头字段在某些响应中用于引用
与响应相关的特定资源。的类型
关系由请求方法和
状态码语义。
Location = URI-reference
字段值由单个 URI 引用组成。 [...]
URI-reference 概念在RFC 3986 中定义如下(高亮是我的):
4.1. URI Reference
URI-reference 用于表示资源的最常见用法
标识符。
URI-reference = URI / relative-ref
URI-reference 是 URI 或相对引用。 如果
URI 引用的前缀与所遵循的方案的语法不匹配
通过它的冒号分隔符,那么 URI-reference 是一个相对的
参考。 [...]
所以www.example.com 应该被解释为relative reference 而不是absolute URI。
www.example.com 情况在RFC 3986 中被描述为suffix reference:它与相对路径引用具有相同的语法,并且不能在需要相对引用的上下文中使用(重点是我的):
4.5. Suffix Reference
URI 语法旨在明确引用资源和
通过 URI 方案的可扩展性。但是,作为 URI 标识和
使用已变得司空见惯,传统媒体(电视、广播、
报纸、广告牌等)越来越多地使用
URI作为参考,只包含权限和路径
URI 的一部分,例如
www.w3.org/Addressing/
或者只是一个单独的 DNS 注册名称。这些参考是
主要用于人类解释而不是机器,
假设基于上下文的启发式方法足以
完成 URI(例如,大多数以 www 开头的注册名称
可能有一个 URI 前缀 http://)。虽然没有
用于消除 URI 后缀歧义的标准启发式方法集,很多
客户端实现允许用户输入它们,并且
启发式解决。
虽然这种使用后缀引用的做法很常见,但它
应尽可能避免使用,切勿用于
需要长期参考的情况。启发式
上面提到的会随着时间而改变,特别是当一个新的 URI 方案
变得流行,并且在脱离上下文使用时通常是不正确的。 [...]
由于 URI 后缀与相对路径引用具有相同的语法,因此
后缀引用不能在相对的上下文中使用
需要引用。因此,后缀引用仅限于
没有定义基本 URI 的地方,例如对话框和
线下广告。