HTTP 301和308状态代码有什么区别?
301 (永久移动):此和所有将来的请求应定向到给定的URI.
308 (永久重定向):应使用另一个URI重复请求和所有将来的请求.
他们似乎很相似.
http http-status-codes http-status-code-301 http-status-code-308
IETF RFC草案超文本传输协议(HTTP)状态代码308(永久重定向)将HTTP状态308定义为永久重定向.当然,应该注意到这是一份草案文件,并在其文件标题中包含文本"过期日期:2012年9月27日",我认为这意味着它现在应该被视为无效,但我不熟悉IETF的流程因此对此没有信心.
维基百科文章HTTP状态代码列表使用308的定义,也是:
308永久重定向(批准为实验性RFC)[12]
应使用另一个URI重复请求和所有将来的请求.307和308(如所提出的)并行302和301的行为,但不允许HTTP方法改变.因此,例如,将表单提交给永久重定向的资源可能会顺利进行.
...
[12]:"超文本传输协议(HTTP)状态码308(永久重定向)".IETF.2012年.检索2012年3月27日.
当时微软的Eric Law在使用HTTP/308 推送Web转发时评论了这个HTTP/308代码.这让我发现Firefox在这个意义上支持308.
但是,当我查看python-requests库时,我发现有308的另一种用法:
308: ('resume_incomplete', 'resume'),
Run Code Online (Sandbox Code Playgroud)
这似乎来自Google Gears 可恢复的HTTP请求提案,定义308 Resume Incomplete.似乎有一些用法.当然,这些提案都没有承认对方的存在.
发生什么了?是否308 Permanent Redirect还活着?状态代码308发生了什么?我该怎么办?
大多数现代浏览器都接受307和308重定向(https://tools.ietf.org/html/rfc7538).
但是在google上很多,我无法找到支持307/308重定向的浏览器版本列表.许多帖子如:HTTP状态代码308的处理是什么?只需询问是否支持308重定向.
我知道一些旧的浏览器不支持307/308重定向(https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308),但不清楚哪个浏览器版本没有'吨.
所以我的问题是,哪些浏览器版本支持307/308重定向?
旧浏览器如何处理此状态代码?他们只是失败了吗?
redirect http cross-browser http-status-code-404 http-status-code-308