ActiveSync中的http内容组织

1. POST Request

数据格式

Request-line
Request-headers
CR/LF
Request Body

Request-line

POST <URI> HTTP/1.1

/Microsoft-Server-ActiveSync?<text query value>
/Microsoft-Server-ActiveSync?<base64-encoded query value>

 

base64加密的URI组织方式

长度
协议版本1字节141,可能140、120
命令编号1字节 
Locale2字节应当所使用的语言
设备编号的长度1字节 
设备编号若干String或者GUID
策略key的长度1字节0or4,0表示缺省
策略key4字节可选项
设备类型的长度1字节描述设备类型字段的长度
设备类型若干string
命令参数若干加密参数结构序列

加密参数

长度
Tag1字节参考targs表
Length1字节参数的长度
Value若干参数内容

 

Request Headers

Header必须的描述
Authorization必须描述用户证书,使用HTTP基本认证
Content-Type据命令而定WBXML:application/vnd.ms-sync.wbxml或者application/vnd.ms-sync
Autodiscover:text/xml或者text/html
MS-ASAcceptMultiPart非必须允许拆分
MS-ASProtocolVersion使用纯文本查询时必须,Base64时不需要表示客户端支持的ActiveSync协议版本
User-Agent非必须客户端的描述信息
X-MS-PolicyKey使用纯文本查询时必须,Base64时不需要客户端当前使用的策略key

2. POST Response

数据格式

Status-line
Response-headers
CR/LF
Message Body

 

状态码

状态码描述
200 OK命令成功
400 Bad Request语法错误,服务器无法解析。如果客户端没有修改的情况下,继续请求,将发生同样的错误。
401 Unauthorized要求认证或者认证过期
403 Forbidden用户不能进行ActiveSync同步
404 Not FoundURI找不到或者服务器上的ActiveSync不支持。
451 Redirect设备连接的服务器无法访问用户邮箱,或者有一个可以直接访问用户邮箱的服务器,要求重定向
500 Internal Server Error服务器发生错误,正在阻止请求
502 Proxy Error找不到服务器
503 Service Unavailable服务不可用。
507 Insufficient Disk Space用户邮箱已满

 

ResponseHeaders

Header例子值描述
Cache-Controlprivate控制应答的缓存策略
Content-Encodinggzip当内容压缩时,必须的;否则不带着个头
Content-Length56必须。描述响应提的大小(字节)
Content-Typeapplication/vnd.ms-sync.wbxml内容类型
MS-Server-ActiveSync8.1可选。描述处理请求的ActiveSync协议版本
X-MS-Location 可选。同451响应一起使用。描述新的URL
X-MS-RP12.1,14.0, 14.1可选。由于服务器已经升级,指示客户端进行完全同步

转载于:https://www.cnblogs.com/javawer/p/3248802.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值