以前在做URL重写,更换域名,做http->https跳转的时候,习惯于使用301重定向,也就是永久重定向,没有出现过什么问题,但最近在工作中遇到,https网站有问题,并且短期内无法解决,需要回退到http站点,这就出现问题了,这个重定向已经缓存到客户端了,解决办法只能是手工清除,还好是内网应用,在可控范围内。
所以仔细研究了一下这个响应码。
- 301: Permanently Moved,永久重定向
- 302: Temporarily Moved,临时重定向
- 303: Temporarily Moved,临时重定向,无论请求是GET或POST,继续按请求方式重定向
- 307: Temporarily Moved,临时重定向,如果是GET,继续按GET方式重定向,如果是POST,则终止。
303, 307是302拆分出来的规范。
到于在http->https的跳转中用哪个,如果能确保https站点不会有问题,可以使用301,如果不能,推荐使用302和307。
301的优点是在访问的时候可以减少一次http请求,而缺点是不可控。
下面是各主流大站的响应码:
Baidu 307
QQ 302
Tmall 302
Weibo 301
参考:https://blog.csdn.net/reliveit/article/details/50776984