在 POST 之后进行 303 重定向时,RFC 2616提到在响应正文中添加超链接(即 POST 的 303 响应正文,而不是后续 GET 对新创建资源的响应)。
10.3.4 303 见其他
可以在不同的 URI 下找到对请求的响应,并且应该使用该资源上的 GET 方法来检索。此方法的存在主要是为了允许 POST 激活脚本的输出将用户代理重定向到选定的资源。新的 URI 不是原始请求资源的替代引用。303 响应不能被缓存,但对第二个(重定向)请求的响应可能是可缓存的。
不同的 URI 应该由响应中的 Location 字段给出。除非请求方法是 HEAD,否则响应的实体应该包含一个简短的超文本注释,其中包含指向新 URI 的超链接。
我对此有两个问题:
是否有任何实现(浏览器或其他)在 303 的主体中使用这样的链接?
如果在正文中添加链接,最合适的链接关系是什么?
rel="self"
,rel="alternate"
? 两者似乎都不完全合适。我意识到这样的事情可能没有标准的链接关系,如果是这样,那就这样吧。