我们经常使用。 但重定向也还是有需要深入探讨的地方。
返回码不仅有我们经常使用301和303还有302 307 308 它们有啥区别呢。 可以按照是否缓存和重定向后请求的方法,两个维度去拆分。 具体对比如下:
如果是永久重定向那么浏览器客户端就会缓存此次重定向结果,下次如果有请求则直接从缓存读取,譬如我们切换域名,将所有老域名的流量转入新域名,可以使用永久重定向。 如果只是临时重定向那么浏览器则不会缓存,譬如我们的服务临时升级,会使用临时重定向。
方法保持的意思是原请求和重定向的请求是否使用相同的方法,譬如原请求是POST提交一个表单,如果是301重定向的话,重定向的请求会转为GET重新提交,如果是308则会保持原来POST请求不变。