问题标签 [http-response-codes]
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.
http - 不支持/识别请求的 websocket 子协议时的 HTTP 响应代码
在将 HTTP 连接升级到 websocket 时,可以在可选的 HTTP 标头“Sec-WebSocket-Protocol”中提供一个或多个子协议。
如果服务器接受任何子协议,它会以 HTTP 响应代码 101(“HTTP/1.1 101 交换协议”)进行响应,并包含指示所选子协议的 HTTP 标头“Sec-WebSocket-Protocol”。
但是服务器应该如何正确处理未知/不受支持的子协议呢?
这是否应该在 HTTP 连接“内”完成——通过使用一些 HTTP 响应代码?
还是应该将连接升级到 websocket——并通过发送带有一些预定义 websocket 状态代码的“关闭帧”立即被服务器关闭?
RFC6455 怎么说?我无法得出结论。现有的服务器实现如何处理它?
问候/每/
android - Android 中对 HTTP POST 请求的意外响应
我最近在通过 Android 上的 http POST 请求发送/接收数据时遇到了奇怪的问题。
我在设置Fiddler来监控我的 Android 应用程序和服务器之间的流量时遇到了困难,因此我创建了简单的 Web 表单来模拟 POST 请求。
当我使用此表单发送请求时,会返回带有 200 OK 状态代码和所需 XML 文件的响应。
我认为它相当于我的 Android 应用程序中的 Java 代码。
但是,即使我输入了相同的参数值(与我在 Web 表单中输入的参数值相同),这种情况下的响应也是 204 NO CONTENT 并且显然没有 XML 文件。
有人可以告诉我这两种方法为什么不等效并且响应不同吗?是编码还是我错过了什么?
不幸的是,我无法访问服务器,也无法调试 Android 传出和传入数据,因为 Fiddler 和我的模拟器/连接到 PC 的设备拒绝合作。
而且我还想知道是否应该使用AndroidHttpClient
代替,DefaultHttpClient
但我认为在这种情况下它不会改变任何东西。
提前致谢!
java - 为什么我什至还没有部署 Web 应用程序时会看到 HttpResponseCode '200'?
在我的 IDE 中,只打开了一个 web-project 并部署在Tomcat Server上。但是以下代码尝试连接到既未在 IDE 中打开也未由Tomcat部署的Web 应用程序。但令我惊讶的是,我总是看到if语句运行并打印200表示OK。是不是tomcat自动部署了还没有部署的web-app ?如果不是,那可能是什么原因?
如果我篡改URL并将其更改为不存在的内容,它会给出404 代码。但是,当我没有部署网络应用程序时,它应该给出一个404 代码!
笔记:
我正在使用 netbeans 作为 IDE。
java - 如何从 GWT 客户端的本地主机服务器获得响应?
我有一个WCF
基于 Web 服务并托管在用c#
. 我想在我的GWT client side
.
请检查以下代码:
每次我尝试运行代码时,它都会显示“ http://localhost:8089 is not allowed by Access-Control-Allow-Origin.
”
PS:我搜索了这个错误,但我不想禁用所有浏览器的网络安全。
是否有任何替代解决方案可以让response
服务器localhost
在同一台机器上的不同色情片上运行。这就是为什么我想在客户端调用一个 url。
请提出解决方案。
编辑
让我分点向您解释完整的场景:
php - Why does cURL sometimes require the "www." part of a URL to work, and vice versa?
For instance, using this code:
$url = "http://upenn.edu"
will not work, while $url = "http://www.upenn.edu"
will work.
Without the www.
the response code I get is 0
, whereas with the www.
it is 200
.
If I were to use PHP get_headers("http://upenn.edu")
, I would get two errors:
Warning: get_headers() [function.get-headers]: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
and
Warning: get_headers(http://upenn.edu) [function.get-headers]: failed to open stream: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
However, when I use the exact same code, http://google.com
will work (as well as the expected http://www.google.com
.)
Then, for a website such as http://www.dogpile.com
, the www.
part included returns a response code of 0
whereas without the www.
, I get a 302
.
Why is this? and is there a better method to use in order to ensure reliable results (i.e., where a www.
is not present, yet the response code is still returned?)
I am new to using cURL and dealing with headers and response codes, so any help is appreciated. Thank you.
html - 如何使用代码 206 从 Grails 流式传输音频文件?
我正在尝试通过以下方式使用 HTML5 功能流式传输音频/wav:
这在 Chrome 上运行良好,除了不可能重播或重新定位 currentTime 属性:
我使用以下代码从 Grails 控制器提供音频文件:
从 Chrome 的以下输出中可以看出,Grails 似乎返回了 HTTP 响应 200 而不是 206(部分内容):
知道可能出了什么问题吗?
谢谢,阿米特。
添加:
将控制器逻辑更改为:
确实有助于返回 HTTP-206(部分内容),但是 Chrome 和 Firefox 都不会播放音频文件(再次提到 Chrome 在获得带有 200 的文件时确实播放了......)
带有以下响应信息:
ruby-on-rails - 正确响应长时间运行进程的 POST 请求
我正在尝试编写一个具有长时间运行过程的 API,最终用户可能会向其发出 POST 请求:
实际创建过程可能需要一些时间,经常会排队。可能需要很多分钟。因此,我不确定我应该返回什么或何时返回。它是通常的 201 plus 对象,在我的 API 创建对象所需的任何时间之后返回吗?这不会在客户端引起问题吗?是否有其他标准方法可以做到这一点 - 例如中间步骤?
如果有帮助,我将使用 Rails & Grape 作为我的 API。
http - OPTION 请求应该使用什么 HTTP 响应代码?
我注意到Mozilla HTTP 响应代码文档指出
PUT、DELETE 和 OPTIONS 方法永远不会导致 200 OK 响应。
但是,它并不清楚实际应该使用什么响应。我最好的猜测是 204:
204:没有内容
此请求没有要发送的内容,但标头可能很有用。用户代理可以用新的更新其缓存的该资源的标头。
谁能评论这是否是用于响应 OPTIONS 请求的正确代码?