Re: [AM] Comments on sample protocol bindings (5.1.4)

* Marc J. Hadley <marc.hadley@sun.com> [2001-03-27 01:20+0100]
> Thanks for your comments, I've incorporated your suggestions into a new
> version of section 5.1 which I'll pass to Stuart for incorporation into the
> next version of the AM document.

Thanks, I have seen that it had been included in today's snapshot.

[..]
> > Moreover, I was wondering what the boundary between OP.start-req and
> > MSG.req was. I see the following steps to do in order to do an XMLP
> > request via HTTP:
> > 1) establish a connection to the server or reuse an existing connection.
> > 2) send the request line (e.g. "POST /my_xml_service HTTP/1.1").
> > 3) send a few miscellaneous headers (Host, User-Agent headers, etc).
> > 4) send some XMLP specific headers (in the spirit of SOAPAction).
> > 5) send the message body (XMLP message = POST data).
> > 6) receive the HTTP response.
> > 7) close the connection or keep the connection alive.
> >
> > 1 requires the knowledge of a host name and a port number.
> > 2 and 3 require knowledge of the URI of the request.
> > 4 and 5 require knowledge of the message.
> >
> I think 3 also requires knowledge of the message (POST data) since you have
> to specify the length of the data you are sending (this is from memory, I'm
> away from my HTTP book at the moment, so I may well be wrong here).

Hmmm... true, there are things lke Content-Length that I forgot here.

> > I think that step 1 is in OP.start-req, and steps 2, 3, 4 and 5 in
> > MSG.req's scope, and step 7 in OP.end-req.
> >
> I'd agree with that, but I think it would also be possible for an
> implementation to delay 1 until data was available to be sent.

Actually, that was my dilemma: should the connection be opened in
OP.start-req or in MSG.req? I think that, as you say, both are
possible. The one we are giving as an example has the virtue of
showing what could be done at OP.start-req.

[..]
> > An SMTP request would be modelled that way:
> > 1) open a connection to a server or reuse an open connection.
> > 2) send a HELO command (not required if the connection is already
> >    open, but let's keep it simple).
> > 3) initiate message delivery (e.g. "MAIL FROM:<whatever@example.org>").
> > 4) specify recipient (e.g. "RCPT TO:<my_xmlp_stuff@example.com>").
> > 5) start data transder with DATA command.
> > 6) send XMLP message.
> > 7) finish transaction (with a ".").
> > 8) disconnection (QUIT command) or keep the connection open.
> >
> > 1 requires a host name and a port number.
> > 4 requires knowledge of the URI (a mailto: URI) of the destination.
> > 6 requires knowledge of the XMLP message.
> >
> > I see the steps organized like this:
> > OP.start-req: steps 1 and 2. (opening of the SMTP session)
> As in the HTTP case, an implementation might choose to delay opening an SMTP
> session until the MSG.req has been received but I agree that the above is
> the most likely.

Again, agreed.

Cheers,

Hugo

-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/ - tel:+1-617-452-2092

Received on Tuesday, 27 March 2001 13:18:49 UTC