我通常使用 HTTP 请求(有时使用 SSL,如果敏感)在 Web 服务器(位于不同位置)之间传递数据。我想知道是否有任何更轻的协议我可以将 HTTP(S) 替换为也支持公钥/私钥,例如 SSH 或其他东西。
我之前使用 PHP 套接字构建了 SMTP 客户端,所以如果需要的话我不介意这样做。
有很多很多协议。很多。从这里开始获取列表。 http://en.wikipedia.org/wiki/Internet_Protocol_Suite
SFTP 传输数据很有趣。效果很好。然而,您会发现它并不比 HTTP 好多少,因为 HTTP 非常简单。 http://en.wikipedia.org/wiki/SSH_file_transfer_protocol
SMTP 可以工作。 http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
SNMP 可以工作。 http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol 您必须真正挑战极限。
然而,所有这些都涉及 TCP/IP 套接字,由于连接的协商和数据包的确认,这会涉及相当多的开销。
如果您想以非常低的开销获得真正的乐趣,请使用 UDP。
http://en.wikipedia.org/wiki/User_Datagram_Protocol
如果您担心消息丢失,您可能需要使用可靠的 UDP。 http://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol
除了其他答案中已列出的协议之外,我还想提一下 XMPP。
它是轻量级的,用于一些“实时”通信系统(例如GTalk)。
WebSocket 是一个不错的选择。例如,它对于从服务器向客户端实时发布更新非常有用。
为什么不直接使用 FTPS:
或SFTP
gRPC(Google 远程过程调用)也是一个选项 https://grpc.io/docs/what-is-grpc/introduction/特别是如果你追求速度
查看介绍https://grpc.io/docs/what-is-grpc/introduction/
以及与 http/rest 的比较 https://learn.microsoft.com/en-us/aspnet/core/grpc/comparison?view=aspnetcore-8.0