301和302重定向注意事项
0
最近发现聊天室退出后,再次创建房间提示居然是房间不存在,这让我表示很郁闷。
因为最近都没怎么做自己的网站,也不知道那里的问题,最后看了很久才发现原来是之前改了跳转方式的问题。
最开始我认为跳转到下一个页面只要不是临时提示页面都可以用301
跳转,原来大错特错了。
我们看一下下面几张图:
302
跳转控制台信息
301
跳转控制台信息
看了之后就发现,301
第二次跳转的时候没去请求服务器,直接使用的缓存,所有房间没有创建。
所以要慎用301
跳转,301
跳转主要用于一个连接永远跳转的另外一个连接,也就是说如果这个连接里面会执行代码再跳转的情况就不要用301
跳转了。
一般主要用于网站连接改版,网站迁移使用。
学艺不精啊,以后还要多多学习。
还有一点POST
请求的301
重定向,再次POST
提交时还是会提交数据的,而不是使用缓存。
HTTP/1.1
以后,推荐使用303
和307
对原来的302
进行替换。功能都是一样,主要区别在于对POST
请求的处理:
303
:表示POST
请求已经被处理,可以使用GET
方法到location
获取。307
:表示POST
请求没有被处理,重新向location
发起POST
请求。
对于POST
参数获取:
301
、302
、303
进行POST
重定向时,均使用GET
到新的location
,而且不能获取到POST
参数。307
进行POST
重定向时,使用POST
到新的location
,能获取到POST
参数。