MAPI over HTTP 和 RPC over HTTP

天下之事常成于困约,而败于奢靡。这篇文章主要讲述MAPI over HTTP 和 RPC over HTTP相关的知识,希望能为你提供帮助。
MAPI: 全称 Messaging Application Programming Interface。MAPI over HTTP 是从Exchange 2013 SP1版本开始实现的一种新的传输协议。用来替代早期的RPC over HTTP(即outlook anywhere)。
MAPI用于改进Outlook和Exchange服务之间的可靠性和稳定性,其实现是将其原本使用的RPC四层协议改为七层HTTP协议。但MAPI并非是Outlook访问Exchange的唯一协议,对于一些老的不支持MAPI的客户端,则依然使用老的Outlook Anywhere。
MAPI over HTTP优势:官方是这么说的:

  • 通过使用基于HTTP的协议,对未来在身份认证方面的创新打下了基础。
  • 【MAPI over HTTP 和 RPC over HTTP】设备通许中断后,提供更快速的恢复连接。因为仅需要重建TCP连接。比如设备休眠、设备切换网络环境(有线< -> 无线)
  • 提供不依赖连接的会话上下文。 服务器在可配置的时间段内维护会话上下文,即使用户更改了网络。
部署MAPI over HTTP在Exchange 2013 SP1版本中,首次出现MAPI over HTTP的支持,所以微软默认并没有启用它,默认仍然适用较为成熟的RCP over HTTP。 所以需要人工启用。
  • 虚拟目录配置
    Set-MapiVirtualDirectory -Identity "Cas01\\mapi (Default Web Site)" -InternalUrl https://mail.contoso.com/mapi–ExternalUrl https://mail.contoso.com/mapi -IISAuthenticationMethods Negotiate

- 证书配置(即IIS证书,略) - 全局启用MAPI

Set-OrganizationConfig -MapiHttpEnabled $true
#### 区别RPC over HTTP: ![image.png](https://s2.51cto.com/images/20220517/1652777325935298.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)MAPI over HTTP:![image.png](https://s2.51cto.com/images/20220517/1652777346548926.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)- RPC over HTTP: MAPI被经过两次封装,MAPI-> RPC-> HTTP。 - MAPI over HTTP: 取消了对RPC的依赖,MAPI直接封装在HTTP里。 Outlook端: - 当使用RPC over HTTP时,协议字段对应的是 RPC/HTTP,代理服务器字段会有服务器名称。![image.png](https://s2.51cto.com/images/20220517/1652777393793336.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)- 当使用MAPI over HTTP时,协议字段对应的是HTTP,代理服务器字段为空。 ![image.png](https://s2.51cto.com/images/20220517/1652777408234658.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)#### MAPI over HTTP 如何工作?- Outlook客户端发起 autodiscover POST请,并在请求中通过属性X-MapiHTTPCapability=1 通告自身支持MAPI over HTTP。 - Exchange服务器接收到请求后,发现客户端支持MAPI over HTTP,于是返回MAPI/HTTP的连接信息。 - Outlook客户端收到响应后,提示用户重启Outlook,以便于切换到新的连接。 在为重启之前,继续使用RPC over HTTP。RPC over HTTP: ![image.png](https://s2.51cto.com/images/20220517/1652778253699563.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)


    推荐阅读