当前位置: 首页 > 面试题库 >

HTTP请求返回状态码0是什么意思?

董建德
2023-03-14
问题内容

当JavaScript网络调用(例如fetch或XMLHttpRequest或任何其他类型的HTTP网络请求)失败且HTTP状态代码为0时,这是什么意思?

这似乎不是有效的HTTP状态代码,因为其他代码是HTTP规范中的三位数字。

我尝试将网络完全拔掉作为测试。它可能不相关,但是导致状态代码17003(IIRC),粗略搜索表明这意味着“ DNS服务器查找失败”。

相同的代码在某些位置和系统上可以正常工作,但是在某些环境中,它会失败,状态码为0,并且没有提供responseText。

这是到Internet URL的典型HTTP POST。它不涉及file://,据我所知可能会返回0,表示在Firefox中成功。


问题答案:

我相信错误代码表明响应为空,(甚至没有返回标头)。这表示已接受连接,然后正常关闭(TCP
FIN)。造成这种情况的原因有很多,但是根据您的描述,某种形式的防火墙似乎是最有可能的罪魁祸首。



 类似资料:
  • 此外,小于-1的状态代码被归一化为零。-1通常表示请求被中止,例如使用config.timeout 这同样也适用于新版本的Angular吗?我使用的是Angular 4.0.1。

  • 问题内容: 好的,我已经到处寻找了。基本上,我们使用的是跨域请求的$ http请求。我们的服务器允许该域,当请求返回200时,一切正常。但是,无论何时我们的服务器返回错误500、401,无论如何,Angular都认为这是CORS问题。 我用Fiddler调试了响应,以验证服务器是否返回了500,但Angular阻塞了。 这是请求: 然后在控制台中,我将看到: XMLHttpRequest无法加载f

  • 我希望根据响应对象错误动态返回HTTPStatus代码,如400、400、404等。我被提到这个问题--使用Spring3RESTful以编程方式更改http响应状态,但没有帮助。 我有一个带有方法的控制器类 是一个类,其中有上面使用的两个方法(和)。 我不想签入if条件并相应地返回响应代码,有没有其他更好的方法来做到这一点?

  • 我有一个springboot/openapi应用程序。不依赖Spring Security性。通过swagger启动POST请求时,返回的状态为403。请求未到达控制器类。然而,Get请求确实有效,并返回状态200。 配置如下 application.yaml 403状态的原因可能是什么? 控制器

  • 问题内容: 如果我返回一个对象: 状态代码将为200。如何将其更改为201,并显示一条消息并与json对象一起发送? 我不知道是否有一种方法可以在Laravel中设置状态代码。 问题答案: 您可以用来设置HTTP响应代码。 如果未传递任何参数,则http_response_code将获取当前状态码。如果您传递参数,它将设置响应代码。 对于Laravel: