我有一个ASP.NET网站。用户可以访问我的应用中的网址/合作伙伴/ {partner-id}。当调用该URL时,我会做两件事:
1)我想记录合作伙伴ID和请求它的用户 2)将网址重定向到合作伙伴的网站。
我的问题是,我应该使用哪种HTTP状态代码?我使用301.但是,这引入了我的日志记录代码被跳过的问题。我怀疑它是因为301表示永久重定向。但是,我基本上想要保持中间人,以便我正确记录细节。
我应该使用什么HTTP状态代码?
谢谢!
答案 0 :(得分:0)
看看这里:
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
您应该使用302状态代码。有关302重定向的两个有用点:
由于重定向有时可能会改变,客户端应该这样做 继续使用Request-URI进行未来请求
这可以通过推断重定向可能是临时的,客户端应该始终检查初始URI而不是将重定向URI作为默认行为,这意味着它们每次都会通过您的日志系统,而不是直接转到重定向后续请求的URI。 302响应还指出:
如果由Cache-Control或指示,则此响应仅可缓存 过期标题字段。
默认情况下,301重定向是可缓存的,除非您明确指定,但302除非明确指定,否则不可缓存。 但是,明确添加'不缓存'可能是一个好主意。重定向的标头让客户端知道它不应该被缓存,以防您有一个不遵循默认规范行为的客户端。 stackoverflow中有很多其他答案,这里有一个不错的答案: