镀铬的 200 和 200 OK 有什么区别?

Rus*_*yar 3 google-chrome get xmlhttprequest google-chrome-devtools

我在 chrome 网络日志中的一些 XHR GET 请求旁边没有看到 200 OK 状态代码。只有200没有OK。这是什么意思?有什么影响? 注意没有 OK 的 200 个状态

有没有其他人遇到过这个问题?我认为这是因为当我触发这些获取请求时,我也会收到 CORS 错误,如下所示 请求是否通过?

Mis*_*saz 5

它不依赖于铬。服务器发送对请求的响应。它以 HTTP 协议版本 (HTTP/1.1)、状态代码 (200) 和状态消息(代码 200 通常可以)开头。示例响应:

HTTP/1.1 200 OK
Run Code Online (Sandbox Code Playgroud)

另一个例子

HTTP/1.1 404 Not Found
Run Code Online (Sandbox Code Playgroud)

但是并没有定义 200 的响应必须是 OK 的,而 404 Not Found 的响应是没有定义的。它可以是任何东西。例如,代码 200 的另一个有效响应。

HTTP/1.1 200 My own status message
Run Code Online (Sandbox Code Playgroud)

您可以编写简单的 node.js 服务器,它发送我自己的状态消息而不是OK

var http = require('http');

http.createServer(function (req, res) {
    res.statusMessage = "My own status message"; // setting custom status message
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(1337);
Run Code Online (Sandbox Code Playgroud)

并在开发者工具中查看

开发者工具中的自己的状态消息

所以答案是:没有区别是响应是否显示为 OK 或其他内容,或者什么都没有。200 表示正常,这是最重要的信息。状态消息只是 200 的人类可读转录,它对浏览器并不重要。