# 调用云托管服务

云托管服务大体可分为 `微信体系内调用` 、 `公网调用` 两种形态。

## 使用限制
目前云托管仅支持 HTTP 协议，暂不支持 tcp/udp/mqtt 等其他协议。

## 微信体系内调用

微信小程序 SDK 通过 `wx.cloud.callContainer` 或者在公众号 H5 中，使用 `WEB-SDK` 登录后调用。此类调用包含微信用户的信息，在调用过程中经过微信链路并由微信验证了用户信息，云托管服务中除了业务参数外，还附带了用户信息的 `header` 头，开发者可以完全信任这些 `header` 头。

请注意：
- callContainer 方法**仅限被该微信云托管环境授权的小程序/公众号使用**。除此之外，仅凭环境 id 和服务名，无法调用对应服务。
- 确保在「小程序管理后台」-「设置」-「功能设置」-「基础库最低版本设置」中，将值设定为 2.23.0 及以上，否则无法正常使用 callContainer 方法。
- 公众号处于未登录模式时，callContainer 方法中不包含微信用户信息。
- 小程序中使用 web-view，web-view 部分只能走公网调用，不支持 call container 内网调用。

## 公网调用

开发者直接请求访问服务的公网域名，或者使用 `WEB-SDK` 未登录模式调用。此类调用不包含任何微信用户信息，开发者需要自己搭建用户登录鉴权等用户体系，但调用过程中，数据链路同样是走微信专有链路，只是不附带微信验证信息。

## 通用限制

- 当前仅支持 HTTP 协议，通过域名调用服务。不支持 tcp/udp/mqtt 等其他协议；
- 不支持通过公网 IP 访问服务；
- 请求大小限制 100KiB(文本 100KiB,二进制 20MiB)；返回包大小限制 1000KiB；
- 请求最大超时时间为 60 秒
- 默认公网域名性能有限制，仅能支持接口测试使用，**请勿用于正式生产环境**。小程序后台也无法配置使用默认公网域名。

## 调用方式
我们列举了常见的端调用方式，你可以按照自身业务需要参考：

- [微信小程序](mini)
- [公众号 H5](h5)
- [WEB 网页](web)
- [其他客户端](client)
- [跨端 JS SDK](crossplaform)
