📄 otaspecification.html
字号:
<h3 class="SectionTitle"> Example: HTTP Request to Install/Update a MIDlet suite</h3> <p class="Paragraph"> When requesting the download of a MIDlet suite JAR file, the request headers might look as follows:</p> <p class="Codeline"> GET http://host.foo.bar/app-dir/game.jar HTTP/1.1<br> Host: host.foo.bar<br> Accept: application/java, application/java-archive</p> <p class="Paragraph"> The response headers from the server might look as follows:</p> <p class="Codeline"> HTTP/1.1 200 OK<br> Server: CoolServer/1.3.12<br> Content-Length: 25432<br> Content-Type: application/java-archive</p> <a name="InstStatExample"></a> <h3 class="SectionTitle"> Example: Install Status via HTTP Post Request</h3> <p class="Paragraph"> For example, installing a MIDlet suite with an application descriptor given below:</p> <p class="Codeline"> ...<br> MIDlet-Install-Notify: http://foo.bar.com/status<br> ...</p> <p class="Paragraph"> After a successful install of the MIDlet suite, the following would be posted:</p> <p class="Codeline"> POST http://foo.bar.com/status HTTP/1.1<br> Host: foo.bar.com<br> Content-Length: 13<br> 900 Success</p> <p class="Codeline"> The response from the server might be:</p> <p class="Codeline"> HTTP/1.1 200 OK<br> Server: CoolServer/1.3.12</p> <a name="Section2"></a> <h2 class="ChapterTitle"> Section 2, MIDP Provisioning and Networking in the WAP June2000 Environment </h2> <h3 class="SectionTitle">Purpose of This Section</h3> <p class="Paragraph"> The purpose of this section is to complement the OTA and MIDP specifications by providing requirements and recommendations specific to MIDP Over The Air Provisioning and MIDlet networking in the WAP June2000 environment. Future WAP developments will be addressed in future versions of the MIDP. Following these recommendations will help ensure interoperability between different WAP elements from all manufacturers. It will also provide guidance to network operators in deploying MIDP services when provisioning is performed via a browser using the WAP protocol stack, as well as to MIDlet developers in creating MIDlets that function optimally when the transport is WSP.</p> <h3 class="SectionTitle">Overview</h3> <p class="Paragraph"> MIDlet suites are downloaded using HTTP from a provisioning server (possibly via a gateway in between). Also, the MIDP library MUST support network access in the form of the HTTP/1.1 protocol.</p> <p class="Paragraph"> Depending on the end-user device and the wireless network, the communication MAY occur between the end-user device and provisioning server with the HTTP protocol end-to-end, or the end-user device MAY use another protocol, and have a gateway convert this protocol to HTTP. The provisioning server needs to only support HTTP in any case (unless there are other reasons for the same service provider to operate the protocol gateway as well). In WAP June2000 environments, there is always a WAP gateway between the terminal and the provisioning server to translate between the WSP protocol used to communicate with the device and TCP/IP used to communicate with the server. </p> <p class="Paragraph"> There are essentially two basic interfaces that need to be considered:</p> <ul> <li class="Bullet1"> the interface from the end-user device to the network</li> <li class="Bullet1"> the interface from the provisioning server to the network</li> </ul> <p class="Paragraph"> The latter of these interfaces will always be HTTP carried as usual over TCP/IP.</p> <p class="Paragraph"> For the former interface, this document describes one of the two basic cases: </p> <ul> <li class="Bullet1"> the end-user device uses a browser using the WAP protocol stack and </li> <li class="Bullet1"> the WSP protocol is used for communication between the terminal and the WAP gateway.</li> </ul> <p class="Paragraph"> When the end-user device uses a browser using the WAP protocol stack and has the WAP transport protocols, WSP MAY be used instead of HTTP in the end-user device. Only connection-oriented WSP and only the following WAP protocol stack configurations and bearers are supported:</p> <ul> <li class="Bullet1"> WAP/UDP/IPv4/PPP/CSD</li> <li class="Bullet1"> WAP/UDP/IPv4/GPRS</li> </ul> <p class="Paragraph"> Where WAP can be either:</p> <ul> <li class="Bullet1"> WSP/WTP/WTLS, or</li> <li class="Bullet1"> WSP/WTP</li> </ul> <p class="Paragraph"> (The other bearers in [<a href="#WAP_WDPS">WAP_WDPS.</a>], such as SMS- or USSD -based bearers are not supported). These restrictions are made in order to achieve maximal interoperability in MIDP provisioning in WAP environments.</p> <p class="Paragraph"> Depending on the wireless network and the capabilities of the end-user device, different mechanisms for obtaining the IP connection are used. These mechanisms and their required configurations are outside the scope of this document.</p> <h3 class="SectionTitle"> Terminal Requirements and Recommendations</h3> <p class="Paragraph"> This section lists the requirements and recommendations related to the WAP terminals. In the case of common requirements to both terminals and gateways, the requirements and recommendations are listed in both terminal and gateway sections.</p> <p class="Paragraph"> WAP terminals used MUST be <a href="#WAP_JUNE2000">WAP June2000</a> conformant.</p> <p class="Paragraph"> <em class="Bold"> Specifically, the following issues are critical:</em> </p> <ul> <li class="Bullet1"> JAD and JAR MIME-types, as described in previous sections, MUST be supported.</li> <li class="Bullet1"> HTTP authentication (server responses 401 and 407) MUST be supported.</li> <li class="Bullet1"> POST-messages from the terminal to provisioning server MUST be supported.</li> </ul> <h3 class="SectionTitle"> Requirements and recommendations in addition to those in the WAP Specifications</h3> <p class="Paragraph"> In the case where the HTTP connections are implemented over WSP, the system implementation of HTTP MUST add the request header "<em class="Code">Accept: */*</em>" to GET and POST requests when a MIDlet creates an HTTP-request, but the MIDlet does not include a non-empty <em class="Code">Accept</em> header in the request. This ensures that the WAP Gateway will always have an explicit set of types and will pass the requested data. This is conceptually the same as leaving out the <em class="Code>Accept</em> header from an HTTP-request on other transports. If the MIDlet sets a non-empty <em class="Code>Accept</em> header for its HTTP-request, no change is made (the MIDlet's own <em class="Code>Accept</em> field is the only one sent).</p> <h3 class="SectionTitle"> Gateway Requirements and Recommendations</h3> <p class="Paragraph"> This section lists the requirements and recommendations related to the WAP gateways. The purpose of presenting these issues here is to make sure that they are taken into consideration when WAP-based MIDlet provisioning is considered.</p> <p class="Paragraph"> WAP gateways used MUST be <a href="#WAP_JUNE2000">WAP June2000</a> conformant.</p> <p class="Paragraph"> <em class="Bold"> Specifically, the following issues are critical:</em> </p> <ul> <li class="Bullet1"> JAD and JAR MIME-types MUST be supported. WAP Gateway must follow the rules for HTTP proxies (RFC2616) these MIME types.</li> <li class="Bullet1"> HTTP authentication (server responses 401 and 407) MUST be supported.</li> <li class="Bullet1"> Data of any kind MUST be passed to the terminal, if the terminal's request has included "<em class="Code"> Accept: */*</em>" header.</li> <li class="Bullet1"> POST-messages from the terminal to provisioning server MUST be supported.</li> </ul> <h3 class="SectionTitle"> MIDlet/MIDlet Suite Recommendations</h3> <p class="Paragraph"> MIDlets SHOULD function correctly even with long connection setup delays and long breaks in connection. Long connection setup delays affect circuit-switched data connections, and long breaks affect GPRS connections.</p> <h3 class="SectionTitle">References</h3> <ol> <li class="List1"> OTA<br> Over The Air User Initiated Provisioning for Mobile Information Device Profile </li> <li class="List1">MIDP<br> Mobile Information Device Profile Specification 1.0, <a href="http://jcp.org/jsr/detail/37.jsp">http://jcp.org/jsr/detail/37.jsp</a> </li> <li class="List1">MIDP 2.0<br> Mobile Information Device Profile Specification 2.0, <a href="http://jcp.org/jsr/detail/118.jsp">http://jcp.org/jsr/detail/118.jsp</a> </li> <li class="List1"> <a name="WAP_JUNE2000"></a> WAP_JUNE2000<br> WAP June2000 Conformance Release, <a href="http://www.wapforum.org/what/technical.htm">http://www.wapforum.org/what/technical.htm</a> </li> <li class="List1"> <a name="WAP_WDPS"></a> WAP_WDPS<br> WAP Wireless Datagram Protocol Specification, <a href="http://www.wapforum.org/what/technical.htm">http://www.wapforum.org/what/technical.htm</a> </li> </ol> <h3 class="SectionTitle">Terms</h3> <ul> <li class="List1"> CSD = Circuit Switched Data </li> <li class="List1"> GPRS = General Packet Radio Service </li> <li class="List1"> PPP = Point-to-Point Protocol </li> <li class="List1"> SMS = Short Message Service </li> <li class="List1"> USSD = Unstructured Supplementary Services Data </li> <li class="List1"> WAP = Wireless Application Protocol </li> <li class="List1"> WSP = Wireless Session Protocol </li><!-- @since MIDP 2.0 --> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -