【IT168 技术文档】
HTTP请求一个客户端建立一个连接,并且发送一个HTTP请求消息到服务器.服务器然后发送一个响应消息,这个消息通常包含了请求的资源.
<method> <resource_path><version>
Header1: value1
Header2: value2
Header3: value3
<optional message>
HTTP请求变量
描述
method
方法名,指定了一个动作,例如GET,HEAD或POST.常用的方法是GET,它从服务器请求一个资源.
resource_path
指向请求资源的路径,它是URL中的一部分,在主机名后面出现.它也称为请求URL(Request URL).
version
你正在运行的HTTP版本,标记为”HTTP /x.x”.BES支持1.0和1.1版本.
Header
提供了关于请求的或在消息体里发送的对象的信息.
optional message
HTTP消息可以包含数据.在一个请求里,它是发送到服务器的用户类型的数据,或上传的文件.当一个对象伴随着此消息时,请求通常也包含定义它属性的消息头.
HTTP响应
在HTTP请求消息的接收之上,服务器发送一个响应消息,它通常包含了请求的资源.
<HTTP version><status_code><reason>
Header1: value1
Header2: value2
Header3: value3
<message>
HTTP响应变量
描述
HTTP_version
正在运行的HTTP版本,标记为”HTTP /x.x”.BES支持1.0和1.1版本.
status_code
状态码的数值,它反映了客户端提出的请求的结果。例如,200(OK)说明了传输成功,404(Not Found)说明了请求的URL没有找到。
reason
reason是和状态码相关的文本消息。
Header
消息头提供了响应的信息,也提供了消息体中正在发送的对象的信息。
message
HTTP消息必须包含数据。在一个响应消息里,它提供了客户端请求的的内容。此响应也包含了定义它的属性的消息头。
注:应用程序应该检查HTTP响应消息的状态码。任何不是200(OK)的状态码都说明当建立HTTP连接时发生了一个错误。
Push请求响应状态码
为push请求连接服务,BlackBerry MDS返回2种响应码:
PAP(Push Access Protocal)响应码。
RIM Push响应码。
注:访问www.wapforum.org获得更多关于PAP响应码的信息。
RIM Push请求响应码
RIM Push请求响应码
描述
解释
200
OK
请求成功完成。
400
任何其他的错误。
403
访问控制错误,或者未知的邮件地址或特定的BlackBerry PIN。
服务器接收了请求,但是不能响应。
503
服务器忙,服务不可用。
当前,服务器不能管理请求,因为暂时的负载或服务器正在维护。
HTTPS支持
如果你的应用程序通过Internet访问服务器,为了提过其他的验证和安全,在TLS上建立一个安全的HTTP(HTTPS)连接。
HTTPS认证(Certificate)管理
当BlackBerry设备以代理模式请求一个HTTPS连接时,BlackBerry MDS服务为BlackBerry设备建立一个SSL连接。系统管理员配置MDS服务,要么允许连接到未信任的服务器,要么是限制访问信任的服务器,这个配置仅适用代理模式下的连接。在end-to-end模式里,BlackBerry设备建立一个SSL连接。
在BlackBerry管理器里,系统管理员编辑MDS服务属性,并且设置TLS和HTTP选项,为获得更多信息,参看BES管理指南。
注:在MDS服务模拟器里,通过设置rimpublic.property文件来允许或拒绝访问未信任的服务器。设置 application.handler.https.allowUntrustedServer参数为true或false。参看177页的“配置 BlackBerry MDS模拟器”获得更多信息。
如果MDS服务包含认证,MDS服务将信任一个服务器。
使用keytool安装一个认证
1. 保存认证。
2.将认证文件拷贝到MDS服务所在计算机上的C:\Java\j2re1.4.2\lib\security文件夹。
3. 为了将认证导入到键存储里,请使用keytool,它可以在JRE bin文件夹下找到,例如C:\Java\j2re1.4.2\bin.例如,输入:
keytool -import -file
访问http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html 获得更多关于keytool的信息。
编码转化器
BlackBerry MDS支持插件的Java应用程序,称为编码转化器,它处理BlackBerry设备发送和接收的数据。
MDS服务提供下列缺省的编码转化:
编码转化名
描述
WML>WMLC
将.wml(Wireless Markup Lanuage)转化为一个压缩的格式。
WMLScript>WMLScriptC
将MIDlet应用程序为BlackBerry格式。
JAD>COD :XML>WBXML
将xml文件转化为下面的WAP二进制XML(.wbxml) MIME类型:application/vnd.wap.wbxml..
SVG >PME
将可svg(Scalable Vector Graphics)转化为BlackBerry设备支持的pme(Plazmic Media Engine)二进制格式.
图像编码转化
将下列图像的文件类型转化为png文件:
Jpeg
Gif
Tiff
Pgm
Ppm
pnm:包含ASCII和二进制pbm,pgm和ppm文件
ico
wbmp
pbm
wbmp
bmp
注:图像编码转化器将先前的图像格式转化为下面的.PNG MIME类型:image/vnd.rim.png.
你也可以编写自己的编码转化器完成客户化数据的处理.例如,如果你的应用程序正在和服务器交换数据,而服务器不是为BlackBerry设备设计的,并且发送到服务器端的数据对BlackBerry设备来说没有合适的格式.那么你可能编写一个编码转化器.
一个编码器可能改变数据格式或删除冗余信息来降低网络流量,并且支持BlackBerry设备上的简单应用程序.例如,你可以编写一个编码转化器将HTML内容转化为WML.
