gpt4 book ai didi

http - HTTP 状态代码 426 Upgrade Required 仅表示需要升级到安全通道的信号吗?

转载 作者:可可西里 更新时间:2023-11-01 15:05:38 49 4
gpt4 key购买 nike

我有一个移动设备通过 HTTPS 与服务器上的 RESTful API 通信。其中一项操作是数据同步,以将离线时所做的修改推送到服务器,并拉取在服务器上并行进行的更新。

我遇到过一种边缘情况,即同步操作可能会在现有客户端中悄无声息地失败。我已经升级了客户端上的“同步协议(protocol)”以正确处理这种情况。理想情况下,我希望所有老客户在尝试同步时收到一条消息,告诉他们升级。

通信仅在我的服务器和我的移动客户端之间进行,因此我意识到我可以返回任意数量的 HTTP 代码并向客户端发出信号,以便在未来显示一条消息,建议用户升级并立即停止同步过程。

它会被视为对 HTTP 426 Upgrade Required 返回码意图的 SCSS ,以使用它来发出信号吗?我能找到的每个引用资料(IETF RFC 2817Wikipedia)都说明使用它来通知客户端升级到 TLS。它是否意味着仅限于定义明确/安全的协议(protocol),如 SSL 和 TLS,还是传统上仅用于 SSL 和 TLS 的 HTTP 层的通用升级标志?

如果它不是为这个用例设计的,那么 HTTP 303 See Other 会被认为更合适,还是我缺少其他代码?

最佳答案

引用我的一篇 previous answers :

HTTP Upgrade is used to indicate a preference or requirement toswitch to a different version of HTTP or to another protocol, ifpossible:

The Upgrade general-header allows the client to specify what 
additional communication protocols it supports and would like to use
if the server finds it appropriate to switch protocols. The server
MUST use the Upgrade header field within a 101 (Switching Protocols)
response to indicate which protocol(s) are being switched.

Upgrade = "Upgrade" ":" 1#product

For example,

Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11

The Upgrade header field is intended to provide a simple mechanism
for transition from HTTP/1.1 to some other, incompatible protocol.

According to the IANA register, there are only 3 registeredmentions of it (including one in the HTTP specification itself).

The other two are for:

(IANA 注册从那时起就没有改变。)

RFC 2817 中定义的 426 响应代码显然与 RFC 2816 中定义的“HTTP 升级”意义上的升级有关。这是对当前使用的层(即 HTTP 本身)的当前协议(protocol)的更改。 (这根本就不是从 http:// 升级到 https://。)

在 HTTP 之上交换的消息(如果是协议(protocol)的一部分)不是它的一部分。就 HTTP 而言,它们只是超媒体实体。

如果您改变超媒体的含义,我认为 426 不适合。普通的 400 可能是更好的选择。请注意,带有错误状态代码(4xx、5xx)的响应不会阻止您在响应中关联实体:这是一条消息告诉客户端升级您的协议(protocol)(在该级别)的地方。

关于http - HTTP 状态代码 426 Upgrade Required 仅表示需要升级到安全通道的信号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17873247/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com