问题标签 [http-1.1]

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.

0 投票
0 回答
114 浏览

http - 使用 HTTP/1.1 协议 GET 的 Web 托管

我在一个带有ESP8266 Wifi模块的 Arduino 项目中。

到目前为止,我已经成功地得到了200 OK回应www.google.com/#q=random+search

我也成功地得到了200 OK来自

但是,我不知道为什么404 Not found每当我尝试使用主机中的文件时服务器都会向我抛出代码。例如

任何建议将不胜感激。

0 投票
2 回答
2711 浏览

rest - PUT 或 PATCH 仅更改一个字段值

我正在考虑为用户创建一个 API 来更改他们的密码。
用户表有一些字段,如名字、姓氏等。对于这个 API,我应该像下面这样使用 PATCH 吗?

补丁 /users/{userId}

或者,我应该使用 PUT 吗?

PUT /users/{userId}/{password}

这对于安全性来说似乎很糟糕。

顺便说一句,我不希望用户更改其他字段的值。我认为 PATCH 必须让用户能够更改任何字段的值。这就是我想知道的原因。

0 投票
0 回答
375 浏览

c# - C#中httpClient的超时行为

我有一个关于 HttpClient 的问题。我这样用

我使用 WebRequest.GetSystemproxy() 作为处理程序

在某些时候,它会失去与服务器的连接并引发异常(taskcancel,它似乎是超时,我此时没有更明确的日志)。

我唯一的解决方案是做一个新的httpClient,之后它在新的时期内运行良好。

我不明白为什么?

在 http 1.1 中,连接可以在需要或需要时被服务器关闭。如果服务器关闭连接,httpclient 会初始化一个新的连接吗?还是只是“为什么”我有这个问题?

我读到 httclient 可以重用(在这里和其他地方)并且它是为此而设计的,但这不是我在我的案例中看到的。在一些httprequests之后,我无法重用它。

0 投票
1 回答
3408 浏览

http - 如何防止在 HTTP 1.1 请求中保持活动状态?

我正在实现一个简单的 HTTP 客户端。

我应该将哪个标头添加到 HTTP 1.1 请求中以使其无法保持活动状态?

0 投票
1 回答
887 浏览

wso2 - WSO2 ESB 代理服务调用后端服务端点(WCF)(大 IP)有错误 403/404

我为后端服务创建 WSO2 ESB 代理服务。我可以成功调用托管在 DEV 服务器中的 DEV WCF 服务端点,并且端点是 DEV 服务器名称。
但是我使用相同的方式来调用测试环境端点,测试端点是一个 Big Ip 端点。WSO2 似乎无法访问 Big Ip 端点。

来自调试信息。(我的大 ip 端点是https://hostname/201507/servicename.svc

似乎 WSO2 无法成功将 SOAP 发布到正确的端点,端口错误(80)。
我也尝试像这样https://hostname:443/201507/servicename.svc对端口进行硬编码,但没有运气同样的错误。
有谁知道这其中的原因?

编辑:

这可能会导致默认情况下 WSO2 使用分块编码来调用后端服务。

0 投票
1 回答
704 浏览

java - HTTP/1.1 完全禁用客户端缓存

我有几个包含敏感数据的站点,所以我想完全禁用客户端缓存。我发现 google 上有 3 个用于 Http/1.1 的实现:

  • 实施1:与其他人一起设置“无商店”

    /li>
  • 实施2:设置“无存储,无缓存”

    /li>
  • 实施3:设置“无商店”:

    /li>

我找到了这张图(来自谷歌网站:缓存控制策略图

缓存控制策略图

从这个图中,我的理解是实现 3 对 HTTP/1.1 来说已经足够了

任何意见?谢谢!

0 投票
1 回答
390 浏览

apache - 代理使用 Apache 2 升级 HTTP1.1(https://IP1:443 到 http://IP2:8080)

我正在尝试使用 Apache 2 创建一个 SSL 代理,该代理在端口 443 上侦听并根据上下文在不同的 IP/端口上转发请求:

设想:

发出 jBoss“https-remoting”请求(它使用 HTTP1.1 在 Wildfly 8.2 中升级为“jboss-remoting”),来自:

并将其转发至:

我发现以下 RewriteCond 有效:

但我不知道我应该应用什么 RewriteRule 才能请求继续进行 http-remoting 而不是 http。

阿帕奇输入:

阿帕奇输出:

如您所见,Upgrade 和 Connection 标头已被删除。有没有办法可以转发所有内容?

0 投票
1 回答
498 浏览

http - WebDAV 属性即使在设置后也会在请求中返回

我正在尝试为我的应用程序开发一个简单的 CalDAV 服务器,在这方面,我正在尝试为日历客户端的初始 PROPFIND 请求提供服务。

日历客户端请求服务器设置一组属性(如下所示)以响应请求:

方法:PROPFIND /calendars/user/ HTTP/1.1

请求标头

请求正文

作为对上述PROPFIND请求的响应,我将响应设置为如下所示:

响应头

响应体

向客户端发送响应后,客户端再次发回相同的属性(不是全部 - 如下所示)。

那么谁能让我知道我在设置这些属性时哪里出错了?

0 投票
1 回答
1766 浏览

get - 如果资源是在初始请求中获得的,是什么使条件 GET 成为“有条件的”?

分解构成条件 GET 的原因:

RFC 2616If-*中,它声明如果请求消息包含( If-Modified-SinceIf-Unmodified-SinceIf-MatchIf-None-MatchIf-Range) 标头字段,则 GET 方法将更改为“条件 GET” 。

然后它说:

条件 GET 方法请求仅在条件头字段描述的情况下传输实体。

据我了解,这意味着只有在任何新的后续请求中满足“ ”条件时,它才会返回所请求的数据。If-*例如,如果 GET 请求返回带有Etag标头的响应,则下一个请求必须包含If-None-Match带有ETag值的 ,以将客户端传输回请求的资源。

ETag但是,如果客户端必须在获取返回的“ ”标头(以返回)之前发送初始请求,If-None-Match那么他们已经拥有请求的资源。因此,任何将来返回If-None-Match带有该ETag值的标头的请求仅指示返回所请求的值,返回200 OK(如果客户端未从初始请求返回If-None-Matchand 值)或304 Not Modified(如果返回),其中通过缓存资源来帮助客户端和服务器。ETag

我的问题:

为什么它声明实体(来自请求的资源)将在满足条件时“传输” (例如在我的示例中,客户端返回带有 an 的值以缓存请求的资源)如果资源或“实体" 是否被返回,是否返回 " "?它不会“在条件标头描述的情况下”返回资源,因为它返回资源尽管返回200 OK304 Not Modified取决于是否返回“”标头。我对此有什么误解?If-*ETagIf-None-MatchIf-*If-*

来自RFC 2616的完整条件 GET 参考:

如果请求消息包含 If-Modified-Since、If-Unmodified-Since、If-Match、If-None-Match 或 If-Range 头字段,则 GET 方法的语义更改为“条件 GET”。条件 GET 方法请求仅在条件头字段描述的情况下传输实体。条件 GET 方法旨在通过允许刷新缓存的实体而不需要多个请求或传输客户端已经持有的数据来减少不必要的网络使用。

0 投票
1 回答
11380 浏览

http - HTTP:非法分块编码

我有一个 .NET 客户端应用程序,它使用第三方库通过 http 访问服务器。该库引发以下错误:

该软件已经安装了几十次,所以我认为这一定是客户系统的问题,我怀疑是代理之间的问题。

我已经使用 Fiddler 来获得第一个提示。在嗅探 Fiddler 时注意到协议违规:

Fiddler 显示以下响应:

如您所见,响应意外停止。

有谁知道问题可能是什么或如何解决?