UPnP DeviceArchitecure Step 3 : Control

来源:互联网 发布:类似于instagram的软件 编辑:程序博客网 时间:2024/06/06 13:03

要点记录

一、概要

    1、当来自于device的discovery advertisement没有过期时,CP可以认为device以及对应的services仍然可用;当device cancels
至少一条advertisement时,CP必须认为device以及对应的services不再可用;

    2、所有的control messages和responds都必须采用UTF-8编码;

    3、当一个action的数据量很大时,不推荐将数据作为SOAP message的body,推荐将相应data的URL作为SOAP的argument,并通过随后的HTTP GET/PUT/POST方法获取数据;

二、Control protocols

    1、SOAP1.1允许使用footers(footer元素?),而SOAP1.2不允许使用。在UPnP message中,Body元素之后不允许再出现Envelope的子元素;

    2、注意一些元素的限制性用法;

三、Actions

    1、UPnP1.1反对使用HTTP Extension Framework(RFC2774),特别是要使用POST而不能使用M-POST方法, devices不能够以“405 method not allowed”拒绝CPs的POST请求,否则UPnP1.0的CPs会重新发送M-POST请求;

    2、CONTENT-TYPE的值:text/xml; charset="utf-8",非上述值时,devices的respond必须为:415
Unsupported Media Type;

    3、只支持HTTP1.0的device,接收到CP以chunked方式发送的请求时,应当返回505 HTTP Version Not Supported;

四、Query for variable

    QueryStateVariable action已被弃用。