添加 headers 到 307 重定向
Adding headers to 307 redirection
你真的不能 add/modified 307 header 除了位置吗?我正在尝试在 Node.js 中执行此操作,并且似乎新添加的 header 'X-Atlassian-Token': 'no-check' 未被客户端使用。
res.writeHead(307,
{
'Location': 'http://www.mytest.com?os_authType=basic',
'Content-Type': 'multipart/form-data',
'X-Atlassian-Token': 'no-check'
});
res.end();
有人在 Whosebug 上问过同样的问题,并且有一个人回答了 -
”实际上,通过Java objects,你可以设置请求属性,但不能设置headers。我正在寻找自己的答案。我相信这是一个有意的限制,以防止伪造身份验证令牌和通过 headers 发送的其他信息。
如果我找到解决方案,我会 post 一个解决方案。"
Is it true that you cannot add/modified 307 header except Location?
不,这不是真的。 运行 您的代码显示的响应包括指定的状态代码和额外的 headers:
HTTP/1.1 307 Temporary Redirect
Location: http://www.mytest.com?os_authType=basic
Content-Type: multipart/form-data
X-Atlassian-Token: no-check
Date: Sat, 06 Jun 2015 13:40:41 GMT
Connection: keep-alive
Transfer-Encoding: chunked
如果没有达到您预期的效果,请参阅 this other answer to the same question:
You should also ensure that your response headers refer to that response rather than the resource that the client is being redirected to.
也就是说,X-Atlassian-Token: no-check
header 不会 被传送到 follow-up 请求(并且,具体来说,不会'客户端发送)。
你真的不能 add/modified 307 header 除了位置吗?我正在尝试在 Node.js 中执行此操作,并且似乎新添加的 header 'X-Atlassian-Token': 'no-check' 未被客户端使用。
res.writeHead(307,
{
'Location': 'http://www.mytest.com?os_authType=basic',
'Content-Type': 'multipart/form-data',
'X-Atlassian-Token': 'no-check'
});
res.end();
有人在 Whosebug 上问过同样的问题,并且有一个人回答了 -
”实际上,通过Java objects,你可以设置请求属性,但不能设置headers。我正在寻找自己的答案。我相信这是一个有意的限制,以防止伪造身份验证令牌和通过 headers 发送的其他信息。 如果我找到解决方案,我会 post 一个解决方案。"
Is it true that you cannot add/modified 307 header except Location?
不,这不是真的。 运行 您的代码显示的响应包括指定的状态代码和额外的 headers:
HTTP/1.1 307 Temporary Redirect
Location: http://www.mytest.com?os_authType=basic
Content-Type: multipart/form-data
X-Atlassian-Token: no-check
Date: Sat, 06 Jun 2015 13:40:41 GMT
Connection: keep-alive
Transfer-Encoding: chunked
如果没有达到您预期的效果,请参阅 this other answer to the same question:
You should also ensure that your response headers refer to that response rather than the resource that the client is being redirected to.
也就是说,X-Atlassian-Token: no-check
header 不会 被传送到 follow-up 请求(并且,具体来说,不会'客户端发送)。