php中302指的是什么

蜗牛 互联网技术资讯 2022-04-22 49 0

这篇“php中302指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中302指的是什么”文章吧。

在php中,302不是错误,而是HTTP响应状态码,意思为“临时重定向”,表示被访问页面因为各种需要被临时跳转到其他页面;可利用header()来实现302跳转,语法“header('Location: 跳转url',true,302)”。

php中302指的是什么  php 第1张

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

302 代表暂时性转移(Temporarily Moved ),是HTTP响应状态码并不是错误。

302是临时重定向的意思,表示被访问页面因为各种需要被临时跳转到其他页面。

在php中,可以利用header()来实现302跳转。

有两种语法格式:

  • 语法格式1:

header('HTTP/1.1 302 Moved Permanently');
header('Location: https://www.yisu.com');
  • 语法格式2:

header('Location: https://www.yisu.com', true, 302);

额外再提一句,如果要自适应HTTPS/HTTP的话,这样就可以了:

header('Location: //www.yisu.com', true, 302);

扩展知识:

HTTP--3xx(重定向)响应状态码

要完成请求,需要进一步操作。通常,这些状态码用来重定向。Google 建议您在每次请求中使用重定向不要超过 5 次。您可以使用网站管理员工具查看一下 Googlebot 在抓取重定向网页时是否遇到问题。诊断下的网络抓取页列出了由于重定向错误导致 Googlebot 无法抓取的网址。

  •   300(多种选择): 针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

  •   301(永久移动): 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码告诉 Googlebot 某个网页或网站已永久移动到新位置。

  •   302(临时移动): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应 get 和 head 请求的301代码类似,会自动将请求者转到不同的位置,但不应使用此代码来告诉googlebot某个网页或者网站已经移动,因为googlebot会继续抓取原有位置并编制索引。

  •   303(查看其它位置): 请求者应当对不同位置使用单独的 get 请求来检索响应时,服务器返回此代码。对于出head之外的所有请求,服务器会自动转到其它位置;

  •    304(未修改): 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容;如果网页自请求者上次请求后再也没有更改过,应将服务器配置为返回此响应(称为if-modified-Since HTTP标头)。服务器可以告诉 googlebot 自从上次抓取后网页没有变更,进而节省带宽和开销。

  •    305(使用代理): 请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。

  •    307(临时重定向): 服务器目前从不同位置的网页响应请求,但请求者应该继续使用原有位置来响应以后的请求,此代码与响应 get 和 head 请求的<a href=""></a>代码类似,会自动将请求者转到不同的位置,但不应该 告诉googlebot 某个页面或者网站已经移动,因为 googlebot 会继续抓取原有位置并编制索引。

PHP header 的7种用法

1.  跳转页面

header('Location:'.$url);  //Location和":"之间无空格。

2.  声明content-type

header('content-type:text/html;charset=utf-8');

3.  返回response状态码

header('HTTP/1.1 404 Not Found');

4. 在某个时间后执行跳转

header('Refresh: 10; url=http://www.yisu.com/');  //10s后跳转。

5. 控制浏览器缓存

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

6. . 执行http验证

header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');

7. 执行下载操作

header('Content-Type: application/octet-stream'); //设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件
header('Content-Transfer-Encoding: binary'); //设置传输方式
header('Content-Length: '.filesize('example.zip')); //设置内容长度

以上就是关于“php中302指的是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论