好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

PHP常见状态码 php判断网站状态码

很多站长朋友们都不太清楚PHP常见状态码,今天小编就来给大家整理PHP常见状态码,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 Php header()函数语法及使用代码 2、 常见的状态码有哪些? 3、 常见的状态码及含义 4、 接口错误状态码对照表 Php header()函数语法及使用代码

语法:

复制代码

代码如下:

Void

header(string

$string[,bool

$replace=true

[,

int

$http_response_code)

向客户端发送原始的HTTP报头

需注意:

Header函数必须在任何实际的输出前调用,无论是一般的html标签、文件中空行,或者来自php。就是在这个函数之前不能有任何形式的输出。

参数说明:

参数 描述

string 必需。规定要发送的报头字符串。

replace 可选。指示该报头是否替换之前的报头,或添加第二个报头。

默认是

true(替换)。false(允许相同类型的多个报头)。

http_response_code 可选。把

HTTP

响应代码强制为指定的值。(PHP

4

以及更高版本可用)

常见用法实例:

一、发送服务器状态码

复制代码

代码如下:

header('HTTP/1.0

404

Not

Found');

常用状态码:

状态码 说明

100-199 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程

200-299 成功接收请求,并已完成整个处理过程,常用200

300-399 未完成请求,客户端需要进一步细化请求,比如,请求的资源已经移动到一个新的地址,常用302,304

400-499 客户端请求有误

常用404

500-599 服务器端出现错误,常用500

详细见:HTTPFTP相应提示信息

二、页面跳转

复制代码

代码如下:

//

立即跳转

header('Location:

');

//

3秒后跳转

header('refresh:3;url=');

3.设置浏览器缓存

强制浏览器不进行缓存!

[code]

//header('Expires:-1');

header('Expires:

Mon,

26

Jul

1997

05:00:00

GMT');

header('Cache-Control:no-cache,must-revalidate');

header('pragma:no-cache');

header('Last-Modified:

'.

date('D,

j

M

Y

H:i:s

T')

);

常见的状态码有哪些?

http状态码分类:

1XX 提示信息 – 表示请求正在处理

2XX 成功 – 表示请求正常处理完毕

3XX 重定向 – 要完成请求必须进行更进一步的处理

4XX 客户端错误 – 请求有语法错误或请求无法实现

5XX 服务器端错误 – 服务器处理请求出错

常见的状态码有哪些?

①200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;

②404:(客户端问题)请求的资源没有找到,说明客户端错误的请求了不存在的资源;

③500:(服务端问题)请求资源找到了,但服务器内部发生了不可预期的错误;

④301/302/303:(网站搬家了,跳转)重定向

⑤304: Not Modified,代表上次的文档已经被缓存了,还可以继续使用。如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面

次一级常见的状态码有哪些?

1.204 No content 服务端返回的仅有状态行和响应头。不含响应主体

一般出现在只需要从客户端向服务端发送消息,而服务端不需要向客户端返回内容的情况

2.206 Partial content 客户端对服务端进行了范围请求,而服务器成功的执行了

一般出现在客户端对资源的某一部分进行请求的情况,然后服务端成功的执行了此get请求,响应报文中包含由content-range指定范围的实体内容。

3.301 Moved Permanently 永久性重定向

表示请求的资源已被分配给了新的url, 这时应该改location字段提示的url重新保存。

4.302 Found 临时性重定向

表示请求的资源已经被被分配给了新的url,希望客户端(本次)临时的使用此url进行访问。

5.303 See Other 同302,表示临时性重定向但是303状态码明确表示客户端应该采取get方法请求资源。

注意1:http相关的一些规范规定客户端在重定向时不允许改变请求方法,但现在很多现存浏览器将302响应视为303响应,并且使用get方式访问Location中规定 的url,而无视原先的请求方法。

注意2: 当301,302,303响应状态码返回时,几乎所有浏览器都会把post改成grt,并删除请求报文中的主体,之后再次自动的发送请求。

301,302,标准时禁止将post方法改为get方法的,但实际上大家都会这么做。

6.307 Temporary Redirect 临时重定向,和302一样。

302虽然禁止在重定向时把post请求变为get,但实际上大家并不遵守,而307则会遵照浏览器标准,不会总post变为get.

7.400 Bad Request 客户端请求与语法错误,不能被服务器所理解

8.401 Unauthorized 表示此请求需要通过http认证,或认证失败

9.403 Forbidden 服务器收到请求,但是拒绝提供服务

10.406 non acceptable 服务端无法返回客户端需要的数据类型

11.503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

此时一般表示服务器正处于超负载,或正在进行停机维护,现在无法处理请求,如果服务端知道解决以上状况需要的时间,最后写入到Retry-After首部字段再返回给客户端。

状态码与实际情况不一致的情形

常见的状态码及含义

428 Precondition Required (要求先决条件)

先决条件是客户端发送 HTTP 请求时,如果想要请求能成功必须满足一些预设的条件。

一个好的例子就是 If-None-Match 头,经常在 GET 请求中使用,如果指定了 If-None-Match ,那么客户端只在响应中的 ETag 改变后才会重新接收回应。

先决条件的另外一个例子就是 If-Match 头,这个一般用在 PUT 请求上用于指示只更新没被改变的资源,这在多个客户端使用 HTTP 服务时用来防止彼此间不会覆盖相同内容。

当服务器端使用 428 Precondition Required 状态码时,表示客户端必须发送上述的请求头才能执行请求,这个方法为服务器提供一种有效的方法来阻止 ‘lost update’ 问题。

429 Too Many Requests (太多请求)

当你需要限制客户端请求某个服务数量时,该状态码就很有用,也就是请求速度限制。

在此之前,有一些类似的状态码,例如 ‘509 Bandwidth Limit Exceeded’. Twitter 使用 420 (这不是HTTP定义的状态码)

如果你希望限制客户端对服务的请求数,可使用 429 状态码,同时包含一个 Retry-After 响应头用于告诉客户端多长时间后可以再次请求服务。

431 Request Header Fields Too Large (请求头字段太大)

某些情况下,客户端发送 HTTP 请求头会变得很大,那么服务器可发送 431 Request Header Fields Too Large 来指明该问题。

我不太清楚为什么没有 430 状态码,而是直接从 429 跳到 431,我尝试搜索但没有结果。唯一的猜测是 430 Forbidden 跟 403 Forbidden 太像了,为了避免混淆才这么做的,天知道!

511 Network Authentication Required (要求网络认证)

对我来说这个状态码很有趣,如果你在开发一个 HTTP 服务器,你不一定需要处理该状态码,但如果你在编写 HTTP 客户端,那这个状态码就非常重要。

如果你频繁使用笔记本和智能手机,你可能会注意到大量的公用 WIFI 服务要求你必须接受一些协议或者必须登录后才能使用。

这是通过拦截HTTP流量,当用户试图访问网络返回一个重定向和登录,这很讨厌,但是实际情况就是这样的。

使用这些“拦截”客户端,会有一些讨厌的副作用。在 RFC 中有提到这两个的例子:

如果你在登录WIFI前访问某个网站,网络设备将会拦截首个请求,这些设备往往也有自己的网站图标 ‘favicon.ico’。登录后您会发现,有一段时间内你访问的网站图标一直是WIFI登录网站的图标。

如果客户端使用HTTP请求来查找文档(可能是JSON),网络将会响应一个登录页,这样你的客户端就会解析错误并导致客户端运行异常,在现实中这种问题非常常见。

因此 511 状态码的提出就是为了解决这个问题。

接口错误状态码对照表

错误状态码为5位整型数值。所有整万的值保留。

扩展状态码为英文状态码,参考阿里的错误码,大部分切换到英文状态码,有更好的可识别性,例如 云服务ESC 。

公司历史项目原因,目前暂时只采用数值状态码。如果后续开发中涉及到异常没有对应的错误状态码,找到对应的分类表后追加记录。

不能修改已有的状态码。

不能删除已有的状态码。

在添加新的状态码前,先检查一下是否会重复定义。(ctrl + f 在本页面搜索下)

如果没有符合需要的状态码,找到对应的类别,添加一条新的记录。

以PHP为例,PHP语言提供的错误码是2的N次方的数值。从1到30719。

超过10000的错误码有:16384、30719,这两个状态码不能再被定义。

10001至19999

20001至29999

30001至39999

40001至49999

50001至59999

60001至69999

70001至79999

80001至89999

90000至99999

关于PHP常见状态码的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于PHP常见状态码 php判断网站状态码的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did209408
更新时间:2023-05-03   阅读:91次

上一篇: php下载迅雷 php文件怎么运行 迅雷

下一篇:phpmake报错 php常见报错

相关资讯

最新资料更新

  • 1.phpoa推荐 php推荐书籍
  • 2.php系统源代码下载 php源码免费下载
  • 3.phpisset多个值 php __set __get
  • 4.php解析img PHP解析器
  • 5.登录注册的php代码 php用户注册登录代码
  • 6.php里怎么输出 php的输出函数
  • 7.最新php环境搭建 最新php环境搭建方案
  • 8.php数学函数 php中函数的定义
  • 9.PHP外部引用样式 php引用外部文件
  • 10.phpmywind phpmywind去重复
  • 11.输出图片php 输出图片英文
  • 12.关于php用户同时登录的信息
  • 13.phpstorm写前端 phpstorm写html
  • 14.仿win桌面php源码 仿windows桌面
  • 15.输出jsonphp代码 js 输出json
  • 16.php获取阴历 php获取日期
  • 17.php内存管理垃圾回收 php的垃圾回收机制是怎样的
  • 18.php接收tcp数据 php tcp udp
  • 19.如何知道php密码 php确认密码
  • 20.php事务的隔离级别 php事务处理

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]