我们经常使用它。然而,重定向仍然需要进一步的讨论。
返回码不仅是我们经常使用的301、303,还有302、307、308。两者有什么区别?这两个维度可以根据是否缓存和重定向后的请求进行拆分。具体对比如下:
如果是永久重定向,浏览器客户端将缓存重定向结果,并在下次有请求时直接从缓存中读取。例如,如果我们切换域名,将所有流量从旧域名转移到新域名,我们可以使用永久重定向。如果只是临时重定向,浏览器不会缓存。比如我们的服务临时升级的时候,会用到临时重定向。
方法保持意味着原始请求和重定向请求是否使用相同的方法。例如,最初的请求通过邮件提交了一个表单。如果是301重定向,重定向的请求会被GET重新提交。如果是308,那么原来的POST请求将保持不变。