如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种形式采集行为。请尊重原创文章内容,转载请保留链接信息。

本文介绍对比一下:http的几个常用跳转状态码:301/302,以及相对不是太常见的303/307跳转。本文的实验对象用php来实现跳转。当然,其它语言也可以实现类似效果。通过实验对比,苏南大叔来具体验证一下:301/302/303/307到底有什么样的区别。

实验代码

a.php代码如下:

<form action="b.php?a1=v1" method="post">
    <input type="text" name="a2" value="v2" />
    <input type="submit" value="submit"/>
</form>

b.php代码如下:

header("Location:c.php",true,301);
//header("Location:c.php",true,302);
//header("Location:c.php",true,303);
//header("Location:c.php",true,307);

c.php代码如下:

print_r($_GET);
print_r($_POST);

实验的过程就是:a.phpb.php提交数据,然后b.php用不同的状态码来跳转请求到c.php。其中,b.php的代码存在变数,三次实验的状态码不一致,分别是:301/302/303/307

不同状态码及c.php接收到的参数

苏南大叔使用不同的状态码,来进行实践。

301跳转:
301/302/303/307跳转区别对比最佳实践 - 301

302跳转:
301/302/303/307跳转区别对比最佳实践 - 302

303跳转:
301/302/303/307跳转区别对比最佳实践 - 303

下面的是307跳转的结果,比较神奇。和普通的跳转,是非常不一样的。

newsn.net:这里是【评论】可见内容

相关状态码解释为:

301Moved Permanently
302Found
303See Other
307Temporary Redirect

分析及解释

301跳和302跳在seo界经常提起,广大seo人民群众需要用301永久跳转来传递权重值。302303基本上差不多,据说,303302更明确于新的url必须用get来请求。而307跳转就时最神奇的跳转了,它可以传递POST值!但是不传递GET值。

所以,seo群众更喜欢301跳,而程序员默认的情况,就是302跳,而最神奇的307跳,只在高级程序员那边使用。303嘛,似乎无人提及,也许在被遗忘的角落吧。

顺便说一下304状态码,304状态码的解释时:Not Modified。这个状态码并不涉及任何的页面跳转,只是告诉浏览器,资源没有修改,使用缓存就好了。并且并不会返回任何响应主体。

phpheader("locaion:")中,如果没有明确写明状态码的话,会默认是302跳转,也就是常说的临时跳转,在seo的领域里面,302并不转移权重值。

结论

多读多看多想,每个状态码都蕴含着特别的含义,您了解这些状态码嘛?更多状态码的经验文字,请阅读苏南大叔的状态码相关文章。

尊重原创内容,转载请保留链接信息,感谢您的阅读。
模拟人工批量抓取盗版行为,保留版权法律诉讼权利。

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/jump-3xx.html
上一篇好文:mac系统如何给网站快捷方式增加图标
下一篇好文:不使用apche/nginx,php命令如何启动www服务

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。
如果本文对您有帮助,或者节约了您的时间,欢迎您打赏瓶饮料,建立一下友谊关系。
想要获取完整源码或相关软件?点击这里获取相关内容