narrowspark/http-status

此包已被废弃,不再维护。未建议替代包。

用于处理HTTP状态的psr-7包。

4.1.0 2018-07-31 12:32 UTC

README

用于处理HTTP状态的包。

68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6172726f77737061726b2f687474702d7374617475732e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545372e322e302d3838393242462e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6e6172726f77737061726b2f687474702d7374617475732f6d61737465722e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6e6172726f77737061726b2f687474702d7374617475732f6d61737465722e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e6172726f77737061726b2f687474702d7374617475732e7376673f7374796c653d666c61742d737175617265 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265

安装

通过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许可