ActiveSync中的http内容组织
1. POST Request
数据格式
Request-line
Request-headers
CR/LF
Request BodyRequest-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字节 Locale 2字节 应当所使用的语言 设备编号的长度 1字节 设备编号 若干 String或者GUID 策略key的长度 1字节 0or4,0表示缺省 策略key 4字节 可选项 设备类型的长度 1字节 描述设备类型字段的长度 设备类型 若干 string 命令参数 若干 加密参数结构序列 加密参数
项 长度 值 Tag 1字节 参考targs表 Length 1字节 参数的长度 Value 若干 参数内容
Request Headers
Header 必须的 描述 Authorization 必须 描述用户证书,使用HTTP基本认证 Content-Type 据命令而定 WBXML:application/vnd.ms-sync.wbxml或者application/vnd.ms-sync
Autodiscover:text/xml或者text/htmlMS-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 Found URI找不到或者服务器上的ActiveSync不支持。 451 Redirect 设备连接的服务器无法访问用户邮箱,或者有一个可以直接访问用户邮箱的服务器,要求重定向 500 Internal Server Error 服务器发生错误,正在阻止请求 502 Proxy Error 找不到服务器 503 Service Unavailable 服务不可用。 507 Insufficient Disk Space 用户邮箱已满
ResponseHeaders
Header 例子值 描述 Cache-Control private 控制应答的缓存策略 Content-Encoding gzip 当内容压缩时,必须的;否则不带着个头 Content-Length 56 必须。描述响应提的大小(字节) Content-Type application/vnd.ms-sync.wbxml 内容类型 MS-Server-ActiveSync 8.1 可选。描述处理请求的ActiveSync协议版本 X-MS-Location 可选。同451响应一起使用。描述新的URL X-MS-RP 12.1,14.0, 14.1 可选。由于服务器已经升级,指示客户端进行完全同步
ActiveSync中的http内容组织的更多相关文章
- PHP获取目录中的全部内容RecursiveDirectoryIterator
这次我们来介绍一个SPL库中的目录迭代器,它的作用其实非常简单,从名字就可以看出来,就是获取指定目录下的所有内容.之前我们要遍历目录获取目录及目录下的所有文件一般是需要进行递归遍历的,自己写这个代码说 ...
- mailto实现将用户在网页中输入的内容传递到本地邮件客户端
背景: 想在自己的网站中有这样一个设计: 用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样: mailto可以帮助实现这个功能. 简介: mail ...
- s:textarea中的文本内容在什么时候才能被赋值给Action中的属性?
下面是jsp程序片段: <s:form id="startForm" name ="startForm" action="/hall/hall_ ...
- excel表格中如何将内容粘贴到筛选后的可见单元格[转]
默认情况下,筛选后excel表格进行复制粘贴,会贴到隐藏的表格. 可以添加两个辅助列来完成操作:1.在筛选前在表格右边添加"辅助1"列,在第二行输入1,按Ctrl+鼠标左键往下拉到 ...
- angularjs表达式中的HTML内容,如何不转义,直接表现为html元素
在模板中直接: 在ionic中直接使用: <p class="contentwen" ng-bind-html="detial.content">& ...
- mysql “group by ”与"order by"的研究--分类中最新的内容
这两天让一个数据查询难了.主要是对group by 理解的不够深入.才出现这样的情况这种需求,我想很多人都遇到过.下面是我模拟我的内容表我现在需要取出每个分类中最新的内容 select * from ...
- Liferay 6.2 改造系列之三:删除Docbar中的添加内容功能
在/portal-master/portal-web/docroot/html/portlet/dockbar/add_panel.jsp文件中 将以下内容: if (hasAddContentAnd ...
- .net获取select控件中的文本内容
.net获取select控件中的文本内容 2009-11-28 21:19小V古 | 分类:C#/.NET | 浏览1374次 <select id="SecType" st ...
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
布局中EditText在android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中输入的内容,作个笔记. 主布局: <?xm ...
随机推荐
- 微信小程序学习过程
1.诞生背景: 更好的体验: 规范与管理: 2.什么是小程序: 小程序是一种不需要下载即可使用的应用,它实现了应用“触手可及”的梦想: 用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念: ...
- python三大神器
Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/latest/instal ...
- CF1097F Alex and a TV Show
题目地址:CF1097F Alex and a TV Show bitset+莫比乌斯反演(个人第一道莫比乌斯反演题) 由于只关心出现次数的奇偶性,显然用bitset最合适 但我们并不直接在bitse ...
- 【python网络爬虫】之requests相关模块
python网络爬虫的学习第一步 [python网络爬虫]之0 爬虫与反扒 [python网络爬虫]之一 简单介绍 [python网络爬虫]之二 python uillib库 [python网络爬虫] ...
- ESD总结
设计人员完全可以让系统在经过ESD事件后不发生故障并仍能继续运行.将这个目标谨记在心,下面让我们更好地理解ESD冲击时到底发生了什么,然后介绍如何设计正确的系统架构来应对ESD. 简单模型 将一个电容 ...
- Linker Scripts2--链接器选项概述
1.前言 为了尽可能的与其它链接器兼容,GNU链接器ld涵盖了很多情况.因此,有很多选项可以控制链接器的行为. 2. 命令行选项概述 链接器支持很多命令行选项,在特定的上下文,实际应用中只有很少一部分 ...
- ajax-hook
// ==UserScript== // @name ajax hook 调试 // @namespace http://tampermonkey.net/ // @version 0.1 // @d ...
- Git学习笔记06-版本回退
在实际中,向版本库提交多次后,几千行代码肯定不记得每次都改了什么,可以使用git log来查看提交日志.也就是git commit -m 后面填写的这部分内容 也可以使用git log --pre ...
- ADO读写DateTime方式
// 读取日期 var = m_pResultSet->GetCollect(_variant_t("Birth_Time")); DATE dt = var.date; C ...
- 利用C#进行AUTOCAD的二次开发
众所周知,对AutoCAD进行二次开发用到的主要工具有:ObjectArx,VBA,VLisp.但它们的优缺点是显而易见的:ObjectArx功能强大,编程效率高,但它的缺点是编程者必须掌握VC++, ...