HTTP重定向代码之间的区别
各种HTTP 3XX重定向代码之间的差异并不清楚。 是的,我已阅读规范,但在这里的标准和实际之间似乎有一些差异。
301
重定向代码似乎足够清晰:这意味着资源已永久移动到另一个URI,未来的请求应使用该URI。
而307
重定向代码看起来也很清楚:这意味着重定向是暂时的,未来的请求应该仍然使用原始URI。
但我无法分辨302
和303
之间的区别,或者他们中的任何一个与301
有什么不同。 看起来302
最初是为了临时重定向(如307
),但实际上,大多数浏览器将其视为303
。 但是303
和301
之间有什么区别? 301
是否意味着重定向更加永久?
我个人建议避免302,如果你有选择。 许多客户在遇到302时不遵循规范。对于临时重定向,您应该使用303或307,具体取决于您在非GET请求中需要的行为类型。 除非您需要POST / PUT / DELETE上的替代行为,否则请使用307至303。
303和307之间的区别在于:
303 :另见。 该请求被正确接收,但结果应该使用重定向url上的GET进行检索。
307 :临时重定向。 整个请求应该重定向到新的url。 任何帖子数据都应该重新发布。
请注意, 302意图具有307的行为,但大多数浏览器将其实现为303的行为(这两者当时都不存在)。 因此,引入了这两个新代码来取代302。
301和303之间的区别:
301 :文档被移动。 未来的请求应该使用新的url。 此网址已过时。
注意:请注意这些代码。 浏览器和代理倾向于对其应用真正具有侵略性的缓存,因此,如果您回复301,则可能需要很长时间才能重新访问该网址。
303 :请求被正确接收。 处理任何PUT请求。 生成的文档可以从重定向url中检索。 未来的请求仍应该转到原始网址。
链接地址: http://www.djcxy.com/p/45409.html