使用http 302响应,重定向时,url中以'#'开头的部分被浏览器剥离
With http 302 response, when redirect, the part start with '#' in url was stripped by browser
向 API 发送请求后,我收到 302
响应:
与headers:
Status
= 302
Location
= http://some.com/#token=xyz
然后浏览器 (chrome) 自动发送另一个请求到 http://some.com/
,#token=xyz
部分被条纹化,因此令牌失踪了。
用 curl
测试过,它不会像浏览器那样去除 #...
部分。
或许,将 #
替换为 ?
是一个解决方案。但是API来自第三方,不在我的控制范围内。
问题
- 为什么浏览器会丢弃它,而
curl
不会?
是否认为 #
(anchor) 部分在 302 情况下没用?
- 有什么方法可以让浏览器在
302
重定向期间保留 #...
部分。
- 还有其他方法获取
#...
部分吗?
因为片段部分从不在请求中发送;它由用户代理在本地处理。参见 https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.5.1.p.2。
向 API 发送请求后,我收到 302
响应:
与headers:
Status
=302
Location
=http://some.com/#token=xyz
然后浏览器 (chrome) 自动发送另一个请求到 http://some.com/
,#token=xyz
部分被条纹化,因此令牌失踪了。
用 curl
测试过,它不会像浏览器那样去除 #...
部分。
或许,将 #
替换为 ?
是一个解决方案。但是API来自第三方,不在我的控制范围内。
问题
- 为什么浏览器会丢弃它,而
curl
不会? 是否认为#
(anchor) 部分在 302 情况下没用? - 有什么方法可以让浏览器在
302
重定向期间保留#...
部分。 - 还有其他方法获取
#...
部分吗?
因为片段部分从不在请求中发送;它由用户代理在本地处理。参见 https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.5.1.p.2。