问题标签 [http-status-code-200]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - 有没有办法强制 Apache 用 403 替换状态 200?
我正在尝试为我们的网站设置维护页面。为此,当 Apache 返回维护页面时,我希望它返回状态 403 而不是 200。从 UI 角度来看,这是与其他应用程序集成的要求。
任何帮助或指针表示赞赏。
谢谢
http - 在响应正文中返回 http 200 OK 并出现错误
我想知道HTTP 200 OK
在服务器端发生错误时返回是否正确(错误详细信息将包含在响应正文中)。
例子:
- 我们正在发送
HTTP GET
- 服务器端发生了意想不到的事情。
- 服务器
HTTP 200 OK
在响应中返回带有错误的状态代码(例如{"status":"some error occurred"}
)
这是正确的行为吗?我们应该将状态码更改为 200 以外的值吗?
c# - 如果服务器返回代码 200,如何在不加载内容的情况下检测 404 页面?
如果服务器应答代码为 200,我如何检测返回的 404 页面?现在我检查内容长度,但时间太长了。还有其他方法吗?当前代码:
vb.net - Http Status 200 以响应第三方
我目前正在研究通过提供一些信息连接到第三方支付 API 的支付网关方式,包括 return_url (他们将发送支付结果)和 notify_url (发送与 return_url 相同的信息,以防出现一些问题持卡人的互联网连接或浏览器问题)。
在他们端处理后,我端成功处理了返回页面和通知页面。
但他们说如下。
商户必须以 HTTP 200 OK 响应,以表明通知已成功接收。如果在特定超时(当前固定为 60 秒超时)后未收到 HTTP 200 OK 响应,他们将重试(最多 5 次)以再次重新发送通知。
所以我将以下代码放在通知页面中。
我认为这些片段还不够,因为它们仍在调用我的通知页面 4 次。我检查日志表。尽管该过程已完成,但日志仍然会在一段时间后进入。
任何人都可以帮助响应 HTTP Status 200 。
任何建议表示赞赏。
api - 什么 HTTP 状态用于“错误”输入的良好请求?
我正在编写一个用于验证促销代码的微服务。客户向我发送促销代码和产品 ID (json)。有 200 OK 的情况,代码很好,我为他们的订单申请了折扣。但是有一个错误的情况是促销代码不适用于该产品。我不确定要使用什么响应代码。
这也应该是 200 OK(带有某种消息说代码验证失败)吗?
应该是 400 Bad Request 吗?
两者似乎都不完全合适,当它不是“OK”时说 200 OK 很奇怪,但是 4xx 通常表示请求/http协议的结构存在问题 - 在这种情况下,请求的结构很好。
java - Httpcomponents httpcore 和 httpclient HTTP_status 400
我正在尝试做:
- 从 HttpClient 发送请求(基于 HttpComponents HttpClient 4.5)。
- 在 HttpServer 中接收该请求(基于 HttpComponents HttpCore 4.4.1)。
- HttpServer 必须以不同的 HttpStatus 代码和字符串实体作为主体来响应 HttpClient。
问题:如果 HttpServer 使用状态码 200(或任何其他,未检查)做出回答,那么它工作正常并且在服务器端没有异常。但是如果服务器设置了应答状态码 400,那么 HttpServer 上已经发生了 IOException。俄语上的描述是“Удаленный хост принудительно разорвал существующее подключение”,英文我认为是“客户端关闭连接”。简单一:状态200没有问题,400服务器异常。
异常字符串:
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.7.0_51] at sun.nio.ch.Socket4Dispatcher.read(SocketDispatcher.read(SocketDispatcher.read) ) ~[na:1.7.0_51] 在 sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.7.0_51] 在 sun.nio.ch.IOUtil.read(IOUtil.java:197 ) ~[na:1.7.0_51] at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) ~[na:1.7.0_51] at org.apache.http.nio.reactor.ssl.SSLIOSession.receiveEncryptedData (SSLIOSession.java:449) ~[httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:503) ~[httpcore- nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:122) ~[httpcore-nio-4.4.1.jar:4.4。1] 在 org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:164) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio .reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:339) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317 ) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar: 4.4.1] 在 org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl .nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1] 在 java.lang.Thread.run(Thread.java:744) [na: 1.7.0_51]org.apache.http.impl.nio.reactor.AbstractIOReactor 上的 apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:164) [httpcore-nio-4.4.1.jar:4.4.1]。 processEvent(AbstractIOReactor.java:339) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317) [httpcore-nio -4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] 在org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor。 AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1] at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]org.apache.http.impl.nio.reactor.AbstractIOReactor 上的 apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:164) [httpcore-nio-4.4.1.jar:4.4.1]。 processEvent(AbstractIOReactor.java:339) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317) [httpcore-nio -4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] 在org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor。 AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1] at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]BaseIOReactor.readable(BaseIOReactor.java:164) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:339) [httpcore -nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317) [httpcore-nio-4.4.1.jar:4.4.1 ] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio。 reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java: 590)[httpcore-nio-4.4.1.jar:4.4.1] 在 java.lang.Thread.run(Thread.java:744)[na:1.7.0_51]BaseIOReactor.readable(BaseIOReactor.java:164) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:339) [httpcore -nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317) [httpcore-nio-4.4.1.jar:4.4.1 ] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio。 reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java: 590)[httpcore-nio-4.4.1.jar:4.4.1] 在 java.lang.Thread.run(Thread.java:744)[na:1.7.0_51]4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:339) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache .http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute (AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio- 4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1]在 java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:339) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache .http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute (AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio- 4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1]在 java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]339)[httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317)[httpcore-nio-4.4.1.jar :4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http。 impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run( AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1] 在 java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]339)[httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:317)[httpcore-nio-4.4.1.jar :4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:278) [httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http。 impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) [httpcore-nio-4.4.1.jar:4.4.1] at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run( AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1] 在 java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]执行(AbstractIOReactor.java:278)[httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)[httpcore-nio -4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1 ] 在 java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]执行(AbstractIOReactor.java:278)[httpcore-nio-4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)[httpcore-nio -4.4.1.jar:4.4.1] 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590) [httpcore-nio-4.4.1.jar:4.4.1 ] 在 java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
HttpServer 代码:
URL 处理程序代码:
}
客户端代码:
node.js - node.js 中不同的 HTTP 响应类型反映了相同的结果
我在node.js中编写了以下创建服务器代码:
这工作得很好,当我在本地主机上运行时,我得到了在浏览器上呈现的响应。因为 HTTP 状态 200 表示 OK 请求(成功的 HTTP 请求),所以我尝试使用 404,将第 4 行编辑为:
但是我仍然在浏览器上得到与http状态200相同的响应。因为404会发送“找不到页面”类型的通知,我想知道我的代码或http服务器配置或浏览器是否有问题?
python - HTTP 200 响应可以有不完整的数据吗?
我正在从 Python Web 应用程序服务器的 Tomcat Webserice 请求 pdf 二进制内容。
我们已经在 Python 中实现了 2 次这样的重试。有时我们会收到一个 HTTP 500 响应。正在调查此问题,但很可能是与资源不足有关的环境问题,例如达到的最大进程数等。在下一次重试中,通常情况下,我们会得到一个带有部分 blob 内容的 HTTP 200(即PDF 中的 EOF 标记)。这怎么可能?
这个重试逻辑有什么缺陷吗?HTTP 200 响应怎么会有不完整的数据,这超出了我的理解。是先发送 HTTP 200 再发送真实数据(这意味着服务器在发送 HTTP 200 后可能会死机)?唯一的其他解释是服务器正在发送整个内容,但生成数据的程序正在发送不完整的数据,因为某些资源问题也可能导致 HTTP 500。
架构如下:
Web 应用程序 -> 调用 Tomcat -> 获取 PDF -> 存储到数据库。
rest - HTTP GET 200 与 204
我们正在设计一个公共 API,并试图通过以下情况找出 GET 的最佳实践:
路径参数:
找到:200 个带有响应正文。
未找到:404。
查询参数:
找到的订单:200 个带有响应正文。
未找到:在这种情况下,这应该是 200 还是 204 甚至是 404?
在我看来,它应该是 200 或 204,因为在这种情况下找到了资源,并且查询参数只是执行过滤效果。但是在这种情况下我们应该返回 200 还是 204?
asp.net - .net core rc2 IIS7.5 返回带有代码 200 的空白页
我们创建了一个带有 .NetCore RC2 的 WepAPI,包括 EntityFrameworkCore 用于访问我们的 MSSQL 数据库。在我的本地主机上的 IIS 上发布此 WebAPI 时,它按预期工作。
现在,我尝试将我的 WebAPI 发布到我们的一台服务器上,之前生成的 API (RC1) 在该服务器上运行得非常好,IIS 以 HtmlResponseCode 200 响应,但只显示一个空白页面,用于在我的本地主机上运行的完全相同的重新查询。
我们已经在服务器和本地主机上安装了 HttpPlatformHandler。我意识到的唯一区别是,在我的本地主机上,我有一个 VisualStudio2015,包括VS 2015 Tooling Preview
.
有什么想法可以调试这个空白页错误,或者这是一个已知问题吗?
apppool-user 拥有文件夹的权限,安装了静态内容,还提供了数据库访问权限,Fiddler 只返回 200OK 文本而不是 json。