设备描述之使用HTTP获取描述文件
如前面的描述,当一个控制点发现一个设备,它只了解了设备的很少信息,要获取设备的更详细的功能,控制点应该从发现消息提供的设备描述URL中提取出设备的描述文件.然后,控制点从设备描述文件中通过描述URL获取到该设备的多个服务描述.这是个基于HTTP的过程.
获取设备描述文件很简单:控制点向发现消息中的URL发出一个HTTP GET请求,设备在HTTP响应的消息体中返回其设备描述.服务描述文件的获取也是这个过程.请求和响应消息的消息头信息和消息体在下面详细介绍.
首先,控制点应该发送一个GET方法的请求,格式如下:
HOST: hostname:portNumber #头信息,HOST必须,URL
ACCEPT-LANGUAGE: language preferred by control point #允许
1)使用CONTENT-LENGTH头信息的响应(HTTP/1.0或HTTP/1.1)
CONTENT-LANGUAGE: language used in description #头信息
CONTENT-LENGTH: bytes in body
CONTENT-TYPE: text/xml; charset="utf-8"
DATE: when responded
Body
2)使用分块编码的响应(仅HTTP/1.1):如果请求消息支持HTTP/1.1,则可以以分块的消息体响应
TRANSFER-ENCODING: chunked #表示消息体分块编码
CONTENT-TYPE: text/xml; charset="utf-8"
CONTENT-LANGUAGE: language used in description
DATE: when responded
Length of chunk 1 in hexadecimal notation
Chunk 1
Length of chunk 2 in hexadecimal notation
Chunk 2
0