获取设备描述文件很简单:控制点向发现消息中的URL发出一个HTTP GET请求,设备在HTTP响应的消息体中返回其设备描述.服务描述文件的获取也是这个过程.请求和响应消息的消息头信息和消息体在下面详细介绍.
首先,控制点应该发送一个GET方法的请求,格式如下:
GET /descriptionPath HTTP/1.1 #请求行,GET是HTTP定义的方法.路径URL.HTTP版本
HOST: hostname:portNumber #头信息,HOST必须,URL
ACCEPT-LANGUAGE: language preferred by control point #允许
当一个控制点发送一个请求,设备进行第二步(描述)响应并发送其描述的拷贝.设备应在30s内响应.如果设备超出时间,控制点应该重发请求.两个响应格式的例子如下:
1)使用CONTENT-LENGTH头信息的响应(HTTP/1.0或HTTP/1.1)
HTTP/1.1 200 OK #状态行 "200 OK"表示没有错误的状态码 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,则可以以分块的消息体响应
HTTP/1.1 200 OK #状态行 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