使用HTTP/HTTPS协议的方式访问在线服务
背景说明
HTTP的核心模式是请求-响应,即客户端发起请求,服务器返回响应,服务器无法主动推送数据。HTTPS在HTTP的基础上增强了安全性,广泛应用于对数据隐私和完整性要求较高的场景。
HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
HTTP/HTTPS 协议特点:
- 无状态性:默认不保留会话状态,每次请求独立处理。可通过Cookie、Session或Token扩展实现有状态会话管理(如用户登录态)。
- 灵活性与可扩展性:支持文本(JSON/XML)或二进制(图片、文件)等多种数据格式传输。通过Header字段扩展功能(如缓存控制、内容协商、跨域访问CORS)。
- 广泛兼容性:所有常用浏览器、编程语言和框架均原生支持,无需依赖特定库或协议升级。适用于Web页面、RESTful API、文件传输等通用场景。
前提条件
- 在线服务部署时在调用配置中服务协议需选择“HTTP”或“HTTPS”。
- 在线服务中选择的镜像需支持HTTP/HTTPS协议。
约束与限制
- HTTP/HTTPS协议只支持部署在线服务。
- 调用API访问在线服务时,对预测请求体大小和预测时间有限制:
- 请求体的大小不超过服务运行配置中的请求大小限制,超过后请求会被拦截。
- 平台每次请求预测的时间不超过服务运行配置中的请求超时时间(发生数据传输时将重新计算超时时间)。
获取认证信息、预测文件的本地路径、在线服务的调用地址
- 认证信息
HTTP/HTTPS协议本身不提供额外的认证方式,和HTTP请求方式一致。
根据服务部署时选择的认证方式获取认证信息。无认证方式无需获取认证信息。
本章节以Token认证为例,用户Token的获取请参见获取Token认证。获取Token认证时,由于ModelArts生成的在线服务API不支持domain范围的token,因此需获取使用范围为project的Token信息,即scope参数的取值为project。
- 预测文件的本地路径
预测文件的本地路径既可使用绝对路径(如Windows格式"D:/test.png",Linux格式"/opt/data/test.png"),也可以使用相对路径(如"./test.png")。
- 在线服务的调用地址
在线服务的调用地址和输入参数信息,可以在控制台的“模型推理 > 在线推理”,单击指定在线服务,在“服务”页签的“调用信息”获取。
“调用URL”即在线服务的调用地址。当模型配置文件中apis定义了路径,调用地址后需拼接自定义路径。如:“{在线服务的调用地址}/v1/chat/completions”。
HTTP/HTTPS调用在线服务
HTTP服务调用步骤如下(以图形界面的软件Postman进行预测,token认证为例):
- 下载Postman软件并安装,您也可以直接在Chrome浏览器添加Postman扩展程序(也可使用其他支持发送post请求的软件)。Postman推荐使用8.11.1版本。
- 打开Postman,选择POST任务,将获取认证信息、预测文件的本地路径、在线服务的调用地址中已获取的在线服务调用地址复制到POST后面的方框。
在header中添加认证信息,不同认证方式有不同header,跟https的推理服务相同。以Token认证为例:Headers页签的Key值填写为“X-Auth-Token”,Value值为用户Token。图1 使用Postman进行预测
- 单击“send”发送请求,结果会在“Response”下的对话框里显示。