我正在使用 PHP 来解析 HTTP 状态代码响应的数字部分。给定一个标准的“HTTP/1.1 200 OK”响应,我会使用:
$data = explode(' ', "HTTP/1.1 200 OK");
$code = $data[1];
我不是 HTTP 方面的专家。我是否会遇到上面示例中代码不在 $data[1] 位置的响应?我只是想确保这种分隔响应代码的方法将始终适用于任何响应。
谢谢,布莱恩
最佳答案
如有疑问,请检查规范。在这种情况下,HTTP/1.1 的规范是 RFC2616 .在 Section 6.1 ,它描述了 Status-Line,Response 的第一个组成部分,如:
Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF
也就是说 - 一个单独的 ASCII 空间 (SP
) 必须分隔 HTTP-Version 和 Status-Code - 如果你检查HTTP-Version 的定义(在 Section 3.1 中)不能包含空格,Status-Code 也不能。
所以您可以使用该代码。
关于php - 解析 HTTP 状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442504/