首页 > 解决方案 > chrome 的 200 和 200 OK 有什么区别?

问题描述

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

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

标签: google-chromegetxmlhttprequestgoogle-chrome-devtools

解决方案


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

HTTP/1.1 200 OK

另一个例子

HTTP/1.1 404 Not Found

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

HTTP/1.1 200 My own status message

您可以编写简单的 node.js 服务器,它发送My own status 消息而不是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);

并在开发人员工具中查看

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

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


推荐阅读