除了HTTP之外还有其他常用协议吗?

问题描述 投票:0回答:5

我通常使用 HTTP 请求(有时使用 SSL,如果敏感)在 Web 服务器(位于不同位置)之间传递数据。我想知道是否有任何更轻的协议我可以将 HTTP(S) 替换为也支持公钥/私钥,例如 SSH 或其他东西。

我之前使用 PHP 套接字构建了 SMTP 客户端,所以如果需要的话我不介意这样做。

http protocols
5个回答
17
投票

有很多很多协议。很多。从这里开始获取列表。 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


2
投票

除了其他答案中已列出的协议之外,我还想提一下 XMPP

它是轻量级的,用于一些“实时”通信系统(例如GTalk)。


2
投票
如果您有兴趣保持连接打开以来回传递多个消息,

WebSocket 是一个不错的选择。例如,它对于从服务器向客户端实时发布更新非常有用。



0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.