Cha*_*l72 143 redirect uri http http-status-codes
各种HTTP 3XX重定向代码之间的差异对我来说并不清楚.是的,我已经阅读了规范,但这里的标准和实际做法之间似乎存在一些差异.
该301重定向代码似乎很清楚:这意味着资源已被永久移动到另一个URI,以及将来的请求应使用URI.
并且307重定向代码似乎也很清楚:这意味着重定向是临时的,未来的请求仍然应该使用原始URI.
但我不能告诉区别是什么之间302和303,或者为什么他们中有谁真正从不同的301.它似乎302本来是一个临时重定向,(比如307),但在实践中,大多数浏览器都把它当成了一个303.但是a 303和a 之间有什么区别301?是301应该意味着重定向是更永久的吗?
Bob*_*man 128
如果您有选择,我个人建议避免使用302.许多客户在遇到302时都不遵守规范.对于临时重定向,您应该使用303或307,具体取决于您对非GET请求的行为类型.除非您需要POST/PUT/DELETE上的备用行为,否则首选307到303.
Gol*_*rol 79
303和307之间的区别是:
303:见其他.请求已正确接收,但应使用重定向网址上的GET检索结果.
307:临时重定向.应将整个请求重定向到新网址.任何帖子数据都应该重新发布.
请注意,302的行为是307,但大多数浏览器将其实现为303的行为(当时两者都不存在).因此,引入了这两个新代码来代替302.
301和303之间的区别:
301:移动文档.未来的请求应该使用新的URL.这个网址已经过时了.
注意:请注意此代码.浏览器和代理往往会在其上应用非常激进的缓存,因此如果您使用301回复,则可能需要很长时间才能重新访问该网址.
303:正确接收请求.处理任何PUT请求.将生成的文档可以从重定向URL来检索.未来的请求仍应转到原始网址.