Answers:
我个人建议您避免选择302。许多客户端在遇到302时并没有遵循规范。对于临时重定向,您应该使用303或307,具体取决于您要对非GET请求执行的行为类型。除非您需要POST / PUT / DELETE上的替代行为,否则最好将307改为303。
303和307之间的区别是:
303:另见。正确接收到该请求,但是应该使用重定向URL上的GET检索结果。
307:临时重定向。整个请求应重定向到新的URL。任何过帐数据都应重新过帐。
请注意,302的本意是具有307的行为,但是大多数浏览器都将其实现为303的行为(当时两者都不存在)。因此,引入了这两个新代码来代替302。
301和303之间的区别:
301:文档被移动。以后的请求应使用新的网址。该网址已过时。
注意:请谨慎使用此代码。浏览器和代理倾向于在其上应用真正的攻击性缓存,因此,如果您使用301进行回复,则有人可能需要很长时间才能重新访问该URL。
303:请求已正确接收。任何PUT请求都会被处理。将生成的文档可以从重定向URL来检索。将来的请求仍应转到原始网址。