关于 http 状态码 308 永久重定向(308 Permanent Redirect)
关于 http 状态码308和其它状态码的含义及解决办法:
https://airbrake.io/blog/http-errors/308-permanent-redirect
在 HTTP 协议中, 308 Permanent Redirect(永久重定向)是表示重定向的响应状态码,说明请求的资源已经被永久的移动到了由
Location
首部指定的 URL 上。浏览器会进行重定向,同时搜索引擎也会更新其链接(用 SEO 的行话来说,意思是“链接汁”(link juice)被传递到了新的 URL)
最近在做一个小程序项目,其主要问题出现在安卓端的小程序上。
我这里下载失败的原因就是:本来正确的写法是 ../testflask/download/
,而我写成了../testflask/download
,地址后面少了一个 / ,response headers 中的 location 被指明了重定向的位置。
但是同样的问题在不同的终端表现出了不同的结果。
iOS 端和 Mac 端调试时都返回的状态码都是 200
在不同的浏览器也表现出了不同的结果。
在重定向过程中,请求方法和消息主体不会发生改变,然而在返回 301 状态码的情况下,请求方法有时候会被客户端错误地修改为GET方法。
浏览器兼容性 (308 Permanent Redirect)
Desktop Browser
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
36 | 12 | 14 | 11 | 24 | 7 |
Mobile Browser
Android webview | Chrome for Android | Firefox for Android | Opera for Android | Safari on ios | samsung internet |
---|---|---|---|---|---|
37 | 36 | 14 | 24 | 7 | 3.0 |