Microsoft RPC 支持通过 HTTP 进行 RPC,如下表所示。
平台 | 支持 | 评论 |
---|---|---|
Windows Server 2003 | 客户端、服务器和 RPC 代理 | 支持通过 HTTP v1 和 HTTP v2 客户端和服务器通过 RPC 进行 RPC。 当 IIS 在 IIS 6.0 模式下运行时,RPC 代理支持通过 HTTP v2 进行 RPC。 当 IIS 在 IIS 5.0 模式下运行时,RPC 代理支持通过 HTTP v1 和 HTTP v2 进行 RPC。 但是,不建议在 IIS 5.0 模式下运行。 有关详细信息,请参阅 RPC over HTTP 部署建议。 通过 HTTP 服务器和 RPC 代理的 RPC 可以位于不同的计算机上。 |
带 Service Pack 1 的 Windows XP (SP1) | 客户端和服务器 | 支持通过 HTTP v1 和 HTTP v2 客户端和服务器通过 RPC 进行 RPC。 不支持 RPC 代理。 |
Windows XP | 客户端和服务器 | 仅支持通过 HTTP v1 客户端和服务器进行 RPC。 不支持 RPC 代理。 |
Windows 2000 | 客户端、服务器和 RPC 代理 | 可以通过 HTTP 服务器程序和 RPC 代理在不同的计算机上运行 RPC。 RPC over HTTP 客户端、服务器和 RPC 代理仅支持通过 HTTP v1 进行 RPC。 |
此外,以下要求适用:
- Windows 2000 及更高版本需要使用 IIS 4.0 或更高版本。
- RPC over HTTP 代理仅在 Windows Server 版本上运行。
- 如果 IIS 在 Windows 的服务器版本上运行,则 RPC over HTTP 服务器程序可以在配置为转发流量的任何计算机上运行。 因此,它可以在 RPC 代理或其他计算机上运行。
若要建立基于 HTTP 连接的 RPC,所有通过 HTTP 客户端的 RPC、RPC over HTTP 服务器和 RPC 代理必须就使用哪个版本的 RPC 进行 HTTP 达成一致。 如果没有所有三个支持(客户端、服务器和 RPC 代理)的常见 RPC 版本,则无法建立通过 HTTP 连接的 RPC。 下表汇总了 HTTP 上的 RPC 不同版本的互作性。
通过 HTTP 客户端进行 RPC | RPC 代理 | 通过 HTTP 服务器进行 RPC | 工程? | 使用的版本 |
---|---|---|---|---|
仅限 v1 | 仅限 v1 | 仅限 v1 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
仅限 v1 | 仅限 v1 | v1 和 v2 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
仅限 v1 | v1 和 v2 | 仅限 v1 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
仅限 v1 | v1 和 v2 | v1 和 v2 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
仅限 v1 | 仅限 v2 | 仅限 v1 | 不 | |
仅限 v1 | 仅限 v2 | v1 和 v2 | 不 | |
v1 和 v2 | 仅限 v1 | 仅限 v1 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
v1 和 v2 | 仅限 v1 | v1 和 v2 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
v1 和 v2 | v1 和 v2 | 仅限 v1 | 是,存在 v1 限制 | 通过 HTTP v1 进行 RPC |
v1 和 v2 | v1 和 v2 | v1 和 v2 | 是的 | 通过 HTTP v2 进行 RPC |
v1 和 v2 | 仅限 v2 | 仅限 v1 | 不 | |
v1 和 v2 | 仅限 v2 | v1 和 v2 | 是的。 这是建议的配置。 | 通过 HTTP v2 进行 RPC |
例如,假设一个 Windows 2000 客户端、一个 Windows Server 2003 代理,其中 IIS 在 IIS 6.0 模式下运行,以及一个通过 HTTP 服务器运行的 Windows Server 2003 RPC。 此参考页上的第一个表显示 Windows 2000 仅支持基于 HTTP v1 的 RPC。 同一表显示,在 IIS 6.0 模式下运行的 IIS 的 Windows Server 2003 仅支持通过 HTTP v2 使用 RPC,而 Windows Server 2003 RPC over HTTP 服务器则支持通过 HTTP v1 和 HTTP v2 的 RPC。 此方案在此参考页上的第二个表的第 6 行中进行了描述,其中显示无法建立基于 HTTP 连接的 RPC。 此外,第二个表显示该方案存在两种选择:
- 如果不考虑安全性和稳定性,IIS 可以切换到 IIS 5.0 模式,在 IIS 5.0 模式下支持通过 HTTP v1 和通过 HTTP v2 进行 RPC。 这样做将允许通过 HTTP v1 连接建立 RPC。
- 使用 SP1 将 Windows 98 客户端升级到 Windows XP,并通过 HTTP v2 连接获取 RPC 的强大功能、安全性和稳定性。