narrowspark / http-status
此包已被废弃,不再维护。未建议替代包。
用于处理HTTP状态的psr-7包。
4.1.0
2018-07-31 12:32 UTC
Requires
- php: ^7.2
- fig/http-message-util: ^1.1
Requires (Dev)
- narrowspark/coding-standard: ^1.0.0
- phpunit/phpunit: ^7.2.0
Provides
This package is auto-updated.
Last update: 2023-03-26 10:06:22 UTC
README
用于处理HTTP状态的包。
安装
通过Composer
$ composer require narrowspark/http-status
使用
use Narrowspark\HttpStatus\Contract\Exception\HttpException as HttpExceptionContract; use Narrowspark\HttpStatus\HttpStatus; // get status message from code echo HttpStatus::getReasonMessage(301); // This and all future requests should be directed to the given URI. try { HttpStatus::getReasonException(301): } catch(HttpExceptionContract $e) { echo $e->getMessage(); // 301 Moved Permanently echo $e->getStatusCode(); // 301 }
现在我们支持(http-message-util),所以你可以这样做
use Narrowspark\HttpStatus\HttpStatus; // get status name from code echo HttpStatus::getReasonPhrase(HttpStatus::STATUS_MOVED_PERMANENTLY); // Moved Permanently
HTTP状态代码类别(来自RFC7231)
状态代码的第一位数字定义了响应类别。最后两位数字没有分类作用。第一位数字有五个值
数字 | 类别 | 含义 |
---|---|---|
1xx | 信息性 | 请求已接收,正在继续处理 |
2xx | 成功 | 请求已成功接收、理解和接受 |
3xx | 重定向 | 为了完成请求需要采取进一步的操作 |
4xx | 客户端错误 | 请求包含语法错误或无法满足 |
5xx | 服务器错误 | 服务器未能满足明显有效的请求 |
可用的HTTP状态代码
代码 | 消息 | RFC |
---|---|---|
100 | 继续 | [RFC7231, 第6.2.1节] |
101 | 切换协议 | [RFC7231, 第6.2.2节] |
102 | 处理 | [RFC2518] |
103 | Http Early Hints | [RFC8297] |
104-199 | 未分配 | |
200 | OK | [RFC7231, 第6.3.1节] |
201 | 已创建 | [RFC7231, 第6.3.2节] |
202 | 已接受 | [RFC7231, 第6.3.3节] |
203 | 非权威信息 | [RFC7231, 第6.3.4节] |
204 | 无内容 | [RFC7231, 第6.3.5节] |
205 | 重置内容 | [RFC7231, 第6.3.6节] |
206 | 部分内容 | [RFC7233, 第4.1节] |
207 | 多状态 | [RFC4918] |
208 | 已报告 | [RFC5842] |
209-225 | 未分配 | |
226 | IM Used | [RFC3229] |
227-299 | 未分配 | |
300 | 多种选择 | [RFC7231, 第6.4.1节] |
301 | 永久重定向 | [RFC7231, 第6.4.2节] |
302 | 已找到 | [RFC7231, 第6.4.3节] |
303 | 见其他 | [RFC7231, 第6.4.4节] |
304 | 未修改 | [RFC7232, 第4.1节] |
305 | 使用代理 | [RFC7231, 第6.4.5节] |
306 | (未使用) | [RFC7231, 第6.4.6节] |
307 | 临时重定向 | [RFC7231, 第6.4.7节] |
308 | 永久重定向 | [RFC7538] |
309-399 | 未分配 | |
400 | 无效请求 | [RFC7231, 第6.5.1节] |
401 | 未授权 | [RFC7235, 第3.1节] |
402 | 需要付款 | [RFC7231, 第6.5.2节] |
403 | 禁止 | [RFC7231,第6.5.3节] |
404 | 未找到 | [RFC7231,第6.5.4节] |
405 | 方法不被允许 | [RFC7231,第6.5.5节] |
406 | 不可接受 | [RFC7231,第6.5.6节] |
407 | 代理身份验证所需 | [RFC7235,第3.2节] |
408 | 请求超时 | [RFC7231,第6.5.7节] |
409 | 冲突 | [RFC7231,第6.5.8节] |
410 | 已消失 | [RFC7231,第6.5.9节] |
411 | 长度要求 | [RFC7231,第6.5.10节] |
412 | 预处理失败 | [RFC7232,第4.2节] |
413 | 有效载荷过大 | [RFC7231,第6.5.11节] |
414 | URI过长 | [RFC7231,第6.5.12节] |
415 | 不支持的媒体类型 | [RFC7231,第6.5.13节] |
416 | 范围不满足 | [RFC7233,第4.4节] |
417 | 期望失败 | [RFC7231,第6.5.14节] |
418-420 | 未分配 | |
421 | 请求错误方向 | [RFC7540,第9.1.2节] |
422 | 不可处理实体 | [RFC4918] |
423 | 锁定 | [RFC4918] |
424 | 失败依赖 | [RFC4918] |
425 | 过早 | [RFC-ietf-httpbis-replay-04] |
426 | 需要升级 | [RFC7231,第6.5.15节] |
427 | 未分配 | |
428 | 需要预处理条件 | [RFC6585] |
429 | 请求过多 | [RFC6585] |
430 | 未分配 | |
431 | 请求头字段过大 | [RFC6585] |
432-450 | 未分配 | |
451 | 因法律原因不可用 | [RFC7725] |
452-499 | 未分配 | |
500 | 内部服务器错误 | [RFC7231,第6.6.1节] |
501 | 未实现 | [RFC7231,第6.6.2节] |
502 | 坏网关 | [RFC7231,第6.6.3节] |
503 | 服务不可用 | [RFC7231,第6.6.4节] |
504 | 网关超时 | [RFC7231,第6.6.5节] |
505 | 不支持HTTP版本 | [RFC7231,第6.6.6节] |
506 | 变体也协商 | [RFC2295] |
507 | 存储不足 | [RFC4918] |
508 | 检测到循环 | [RFC5842] |
509 | 未分配 | |
510 | 未扩展 | [RFC2774] |
511 | 需要网络身份验证 | [RFC6585] |
512-599 | 未分配 |
变更日志
请参阅CHANGELOG了解最近的变化。
测试
$ vendor/bin/phpunit
贡献
注意:请注意,本项目发布时遵循贡献者行为准则。通过参与本项目,您同意遵守其条款。
许可
Narrowspark http-emitter 是开源软件,使用MIT许可。