要点记录
一、概要
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已被弃用。