- Existing WWW browsers can act as client software.
- Document Exchange Model document retrieval is supported.
- Clients are not required to support inbound HTTP connections.
|
||||||||||
WaterkenTM WebHTTP Binding2003-12-22This specification defines the HTTP binding of the web-amp. The binding leverages the existing WWW infrastructure. Abstract
The
OverviewDesign goals
WWW browser as a human-to-messaging protocol interfaceThe web-calculus defines an interface model based on a web of typed nodes. The HTTP binding must be defined such that a User Interface (UI) can be constructed for an application by defining an HTML rendering of the node types. This HTML rendering acts as a "message generator", allowing the user to send the messages needed to traverse the web or to invoke a target lambda. Supporting this type of HTML user interface means that each feature of the web-amp must be exposed in a way that is supported by existing WWW browsers. Document Exchange Model
The WWW is based on Document Exchange Model (DEM) document retrieval. In the DEM, documents are
retrieved by dereferencing a URI. The existing WWW infrastructure is optimized to support these DEM
queries by caching
Support for the HTTP Homeless clientsMost existing WWW client software does not support any server functionality. For example, a typical WWW browser does not allow a web site to send a delayed response to the browser. In addition to this lack of software support, many clients are behind a network firewall that prevents all inbound TCP/IP connections. Most WWW clients are operating as if they have no home address at which to receive return mail. To accommodate homeless clients, the HTTP binding must match the request-response style defined by HTTP. Description
The web-amp HTTP binding has three main components. The Capability URLThe web-amp specification lists the requirements for a capability URL.
The HTTP protocol does not itself support server authentication and encryption. These capability URL
features must be provided by another HTTP extension, such as
The unguessable GUID identifying the target is encoded in the last
guid-segment = guid [ '.' *pchar ]
Sending a request
Each request
The
The
The
The
The operation return is encoded in the HTTP Required HTTP
|
Status-Code |
schema |
|---|---|
| 204 | <http://waterken.com/Void> |
| 301 | <http://waterken.com/amp/Redirect> |
| 403 | <http://waterken.com/amp/Rejection> |
| 404 or 410 | <http://waterken.com/amp/NotFound> |
Other appropriate HTTP Response Status-Codes MUST be used to report errors in
decoding a Request.
A server may support a variety of Media-Types, but is required to support at least the Media-Types listed here.
text/xml
This Media-Type indicates that the message-body is encoded using the
XML surface syntax of the WaterkenTM
Doc Document Model.
If a server supports any of the optional Media-Types listed here, it MUST do so in a way compliant with this specification.
application/x-www-form-urlencoded
This Media-Type indicates that the message-body is encoded using the
www-form surface syntax of the
WaterkenTM Doc Document Model.
application/code
This Media-Type indicates that the message-body is encoded using the
code surface syntax of the WaterkenTM
Doc Document Model.
GET request
GET /example/cl3d5xjtlvjtba2aqceks6ymwe HTTP/1.1 Host: server.waterken.com Accept: text/xmlNormal GET response
HTTP/1.1 200 OK
Content-Type: text/xml;charset="UTF-8"
Content-Length: 562
<doc schema="http://waterken.com/iou/Account">
<brand schema="http://waterken.com/doc/pointer/ID">
<target>http://localhost/id/qfpppfmwvlasandctjcwndqbbe</target>
</brand>
<balance schema="http://waterken.com/doc/pointer/Link">
<target>bjg2iyk57k6dekiltsfv2ngaom</target>
</balance>
<buy schema="http://waterken.com/doc/pointer/Link">
<target>xqfcxgmlzihncztcwo4izisn54</target>
</buy>
<sell schema="http://waterken.com/doc/pointer/Link">
<target>oadiw2p4dqoao27oxe4sibsupy</target>
</sell>
</doc>
NotFound GET response
HTTP/1.1 404 Not Found Content-Type: text/xml;charset="UTF-8" Content-Length: 49 <doc schema="http://waterken.com/amp/NotFound"/> POST request
POST /example/oadiw2p4dqoao27oxe4sibsupy?mid=3u6k4dlbitylyuplg5ubyzacwy HTTP/1.1 Host: server.waterken.com Accept: text/xml Content-Type: text/xml;charset="UTF-8" Content-Length: 50 <doc schema="http://waterken.com/Integer">1</doc>Normal POST response
HTTP/1.1 200 OK
Content-Type: text/xml;charset="UTF-8"
Content-Length: 108
<doc schema="http://waterken.com/doc/pointer/Embed">
<target>o4zpok3s3ud3acx3jis3nawct4</target>
</doc>
Error POST response
HTTP/1.1 200 OK
Content-Type: text/xml;charset="UTF-8"
Content-Length: 192
<doc schema="http://waterken.com/adt/promise/Smashed">
<reason schema="http://waterken.com/iou/InsufficientFunds">
<super schema="http://waterken.com/Error"/>
</reason>
</doc>
|
|
top
Copyright 2002 - 2003 Waterken Inc. All rights reserved. |