问题标签 [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.
http - 使用 HTTP/1.1 协议 GET 的 Web 托管
我在一个带有ESP8266 Wifi
模块的 Arduino 项目中。
到目前为止,我已经成功地得到了200 OK
回应www.google.com/#q=random+search
我也成功地得到了200 OK
来自
但是,我不知道为什么404 Not found
每当我尝试使用主机中的文件时服务器都会向我抛出代码。例如
任何建议将不胜感激。
rest - PUT 或 PATCH 仅更改一个字段值
我正在考虑为用户创建一个 API 来更改他们的密码。
用户表有一些字段,如名字、姓氏等。对于这个 API,我应该像下面这样使用 PATCH 吗?
补丁 /users/{userId}
或者,我应该使用 PUT 吗?
PUT /users/{userId}/{password}
这对于安全性来说似乎很糟糕。
顺便说一句,我不希望用户更改其他字段的值。我认为 PATCH 必须让用户能够更改任何字段的值。这就是我想知道的原因。
c# - C#中httpClient的超时行为
我有一个关于 HttpClient 的问题。我这样用
我使用 WebRequest.GetSystemproxy() 作为处理程序
在某些时候,它会失去与服务器的连接并引发异常(taskcancel,它似乎是超时,我此时没有更明确的日志)。
我唯一的解决方案是做一个新的httpClient,之后它在新的时期内运行良好。
我不明白为什么?
在 http 1.1 中,连接可以在需要或需要时被服务器关闭。如果服务器关闭连接,httpclient 会初始化一个新的连接吗?还是只是“为什么”我有这个问题?
我读到 httclient 可以重用(在这里和其他地方)并且它是为此而设计的,但这不是我在我的案例中看到的。在一些httprequests之后,我无法重用它。
http - 如何防止在 HTTP 1.1 请求中保持活动状态?
我正在实现一个简单的 HTTP 客户端。
我应该将哪个标头添加到 HTTP 1.1 请求中以使其无法保持活动状态?
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 使用分块编码来调用后端服务。
java - HTTP/1.1 完全禁用客户端缓存
我有几个包含敏感数据的站点,所以我想完全禁用客户端缓存。我发现 google 上有 3 个用于 Http/1.1 的实现:
实施1:与其他人一起设置“无商店”
/li>实施2:设置“无存储,无缓存”
/li>实施3:设置“无商店”:
/li>
我找到了这张图(来自谷歌网站:缓存控制策略图)
从这个图中,我的理解是实现 3 对 HTTP/1.1 来说已经足够了
任何意见?谢谢!
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 标头已被删除。有没有办法可以转发所有内容?
http - WebDAV 属性即使在设置后也会在请求中返回
我正在尝试为我的应用程序开发一个简单的 CalDAV 服务器,在这方面,我正在尝试为日历客户端的初始 PROPFIND 请求提供服务。
日历客户端请求服务器设置一组属性(如下所示)以响应请求:
方法:PROPFIND /calendars/user/ HTTP/1.1
请求标头:
请求正文:
作为对上述PROPFIND请求的响应,我将响应设置为如下所示:
响应头
响应体
向客户端发送响应后,客户端再次发回相同的属性(不是全部 - 如下所示)。
那么谁能让我知道我在设置这些属性时哪里出错了?
get - 如果资源是在初始请求中获得的,是什么使条件 GET 成为“有条件的”?
分解构成条件 GET 的原因:
在RFC 2616If-*
中,它声明如果请求消息包含( If-Modified-Since
、If-Unmodified-Since
、If-Match
、If-None-Match
或If-Range
) 标头字段,则 GET 方法将更改为“条件 GET” 。
然后它说:
条件 GET 方法请求仅在条件头字段描述的情况下传输实体。
据我了解,这意味着只有在任何新的后续请求中满足“ ”条件时,它才会返回所请求的数据。If-*
例如,如果 GET 请求返回带有Etag
标头的响应,则下一个请求必须包含If-None-Match
带有ETag
值的 ,以将客户端传输回请求的资源。
ETag
但是,如果客户端必须在获取返回的“ ”标头(以返回)之前发送初始请求,If-None-Match
那么他们已经拥有请求的资源。因此,任何将来返回If-None-Match
带有该ETag
值的标头的请求仅指示返回所请求的值,返回200 OK(如果客户端未从初始请求返回If-None-Match
and 值)或304 Not Modified(如果返回),其中通过缓存资源来帮助客户端和服务器。ETag
我的问题:
为什么它声明实体(来自请求的资源)将在满足条件时“仅传输” (例如在我的示例中,客户端返回带有 an 的值以缓存请求的资源)如果资源或“实体" 是否被返回,是否返回 " "?它不会“仅在条件标头描述的情况下”返回资源,因为它返回资源尽管返回200 OK或304 Not Modified取决于是否返回“”标头。我对此有什么误解?If-*
ETag
If-None-Match
If-*
If-*
来自RFC 2616的完整条件 GET 参考:
如果请求消息包含 If-Modified-Since、If-Unmodified-Since、If-Match、If-None-Match 或 If-Range 头字段,则 GET 方法的语义更改为“条件 GET”。条件 GET 方法请求仅在条件头字段描述的情况下传输实体。条件 GET 方法旨在通过允许刷新缓存的实体而不需要多个请求或传输客户端已经持有的数据来减少不必要的网络使用。
http - HTTP:非法分块编码
我有一个 .NET 客户端应用程序,它使用第三方库通过 http 访问服务器。该库引发以下错误:
该软件已经安装了几十次,所以我认为这一定是客户系统的问题,我怀疑是代理之间的问题。
我已经使用 Fiddler 来获得第一个提示。在嗅探 Fiddler 时注意到协议违规:
Fiddler 显示以下响应:
如您所见,响应意外停止。
有谁知道问题可能是什么或如何解决?