308 重定向是在永久性 URL 转发中保持请求方法的 HTTP 状态码。它由 RFC 7538 定义,被定位为 301 的改良版。
301 与 308 的关系,和 302 与 307 的关系是同一个构图。301 是永久重定向,但在某些浏览器上存在把 POST 转换成 GET 的问题。308 解决了这一点,保证了「不改变方法的永久重定向」。
在实务中 308 的使用频率偏低。永久性 URL 迁移的绝大部分都是 GET 请求 (浏览页面),用 301 就足以应对。308 真正必要的场合,仅限于在 API 端点的永久迁移中希望保持 POST/PUT 方法的情况。
浏览器的支持情况是,主要浏览器 (Chrome、Firefox、Safari、Edge) 全都支持 308,但旧版浏览器与机器人程序有可能尚未支持。在短链接服务中,面向一般用户的重定向使用 301 或 302,而把 308 限定于 API 层面的转发,是比较现实的做法。