The following design requirements reflect the need to offer performance as close as possible to a standard TCP connection.
*Compatibility with constrained runtime environments implies the following restrictions:
+*Not possible to fulfill these requirements with the Comet technique.
+**Compatibility with constrained runtime environments implies the following restrictions:
There are four types of error and status reporting in HTTP responses:
Condition Type | Description |
---|---|
HTTP Conditions (Depricated) | The connection manager responds to an invalid request from a legacy client with a standard HTTP error. These are used for binding syntax errors, possible attacks, etc. Note that constrained clients are unable to differentiate between HTTP errors. |
HTTP Conditions (Deprecated) | The connection manager responds to an invalid request from a legacy client with a standard HTTP error. These are used for binding syntax errors, possible attacks, etc. Note that constrained clients are unable to differentiate between HTTP errors. |
Terminal Binding Conditions | These error conditions may be read by constrained clients. They are used for connection manager problems, abstracting stream errors, communication problems between the connection manager and the &server;, and invalid client requests (binding syntax errors, possible attacks, etc.) |
Recoverable Binding Conditions | These report communication problems between the connection manager and the client. They do not terminate the session. Clients recover from these errors by resending all the preceding <body/> wrappers that have not received responses. |
Transported Protocol Conditions | Errors relating to the XML stanzas within <body/> wrappers are, in general, defined in the documentation of the protocol being transported. They do not terminate the session. | The error is not one of those defined herein; the connection manager SHOULD include application-specific information in the content of the <body/> wrapper. |
* If the client did not include a 'ver' attribute in its session creation request then the connection manager SHOULD send a depricated HTTP Error Condition instead of this terminal binding condition. If the connection manager did not include a 'ver' attribute in its session creation response then the client SHOULD expect it to send a depricated HTTP Error Condition instead of this terminal binding condition.
+* If the client did not include a 'ver' attribute in its session creation request then the connection manager SHOULD send a deprecated HTTP Error Condition instead of this terminal binding condition. If the connection manager did not include a 'ver' attribute in its session creation response then the client SHOULD expect it to send a deprecated HTTP Error Condition instead of this terminal binding condition.
The following is an example of a "see-other-uri" condition:
If the client request does not possess a 'content' attribute, then the HTTP Content-Type header of responses MUST be either "text/javascript; charset=utf-8" or "application/x-javascript; charset=utf-8".
Include extra HTTP headers to prevent caching or storage by any intermediary.
Note: All line breaks in the bodies of the HTTP responses in the following two examples is included only to improve readability. In practice there MUST be no line breaks.
+Note: All line breaks in the bodies of the HTTP responses in the following two examples are included only to improve readability. In practice there MUST be no line breaks.