公共请求头部
公共请求参数是指每个接口都需要使用到的请求参数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
公共请求头部是所有接口调用中必须包含的HTTP请求头信息,它们确保了请求的合法性、完整性及安全性。以下是关键公共请求头参数及其说明:
Authorization: 用于验证请求合法性的认证信息,格式为AccessKeyId:Signature
。其中,AccessKeyId
是用户的访问密钥ID,Signature
是对请求进行签名后的结果,采用HMAC-SHA1算法计算得出。
Content-Length: 指定HTTP请求内容的长度,遵循RFC 2616标准。
Content-Type: 定义HTTP请求的内容类型,通常设置为application/x-www-form-urlencoded; charset=UTF-8
或根据实际请求内容调整,如application/json
。
Content-MD5: 表示HTTP消息体的128位MD5散列值转换成BASE64编码的结果,用于防止数据在传输过程中被篡改。
Date: 标识请求的构造时间,需使用GMT格式,确保与服务器时间同步,避免因时间差异导致请求失效。
Host: 指定请求的目标服务地址,例如特定的阿里云服务域名。
Accept: 指定客户端期望接收的响应内容类型,一般为application/json
或application/xml
。
x-acs-version: 表示使用的API版本号,不同服务可能有不同的版本要求。
x-acs-region-id: 指出请求的地域信息,与ECS实例所在的物理位置相关联。
x-acs-signature-nonce: 提供一个唯一随机数,每次请求应使用不同的值,以防止重放攻击。
x-acs-signature-method: 签名方法,当前仅支持HMAC-SHA1。
示例请求头部配置如下(基于GET请求):
GET /clusters HTTP/1.1
Host: cs.aliyuncs.com
Accept: application/json
User-Agent: cs-sdk-python/0.0.1 (Darwin/15.2.0/x86_64;2.7.10)
x-acs-signature-nonce: f63659d4-10ac-483b-99da-ea8fde61eae3
Authorization: acs ACSbW2iBbyX0Pk9N:mp/6Wdr18V3qAc5gbgsqMe/iB0cx
x-acs-signature-version: 1.0
Date: Wed, 16 Dec 2015 11:18:47 GMT
x-acs-signature-method: HMAC-SHA1
Content-Type: application/json;charset=utf-8
X-Acs-Region-Id: cn-beijing
Content-Length: 0
公共返回头部方面,每次接口调用后,无论成功与否,系统都会返回一个RequestId作为唯一识别码,便于问题追踪和调试。该识别码可以在响应的XML或JSON格式中找到,例如: - XML示例中的<RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
- JSON示例中的{"RequestId": "4C467B38-3910-447D-87BC-AC049166F216"}
确保在设计和发送请求时正确配置这些公共请求头,并在处理响应时关注并记录RequestId
。