qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Re: Proposal to unify qpid and AMQP URL formats.
Date Tue, 10 Feb 2009 15:14:46 GMT
Thanks for the feedback, here's an updated proposal that takes on the 
suggestions so far:

Aidan + Martin: using user:pass@ syntax.
Martin: updated the examples
Jonathan: added note on percent-encoding.

Other changes:
updated my references to the current URI spec http://tools.ietf.org/html/rfc3986
Went back to using "," rather than ";" separators for multiple addresses since 
rfc3986 does include "," as a reserved separator character.

Any further comments before I send this to the AMQP working group?

> Nice.
> 
> I assume URL encoding is used for spaces and such? 
> http://en.wikipedia.org/wiki/Query_string#URL_encoding
> 
> Jonathan
> 
> Martin Ritchie wrote:
>> 2009/2/9 Aidan Skinner <aidan@apache.org>:
>>  
>>> On Thu, Feb 5, 2009 at 9:53 PM, Alan Conway <aconway@redhat.com> wrote:
>>>
>>> I really like the proposal, and I think having a standardised AMQP url
>>> is a big win.
>>>
>>>    
>>>> ** Differences from Qpid Java format
>>>>
>>>> Addresses are at the start of the URL rather than in the "brokerlist"
>>>> option.
>>>>
>>>> Option format is ?foo=bar&x=y rather than ?foo='bar'&x='y'. The use
of
>>>> ' quotes is not common for URI query strings. See
>>>> http://en.wikipedia.org/wiki/Query_string
>>>>       
>>> I hate that the java urls have both of those and am so glad to see 
>>> them going.
>>>
>>>    
>>>> user, pass and clientid are options rather than having a special 
>>>> place at
>>>> the front of the URL.
>>>> clientid is a Qpid proprietary property and user/pass are not 
>>>> relevant in
>>>> all authentication schemes.
>>>>       
>>> I think we should probably use username:password@host syntax for this,
>>> it's more inline with what other URL formats such as http and ftp. It
>>> also has the advantage of being more obvious that you're including
>>> authentication information so less prone to accidently leaking it when
>>> cut and pasting urls. If they're not relevant in the negotiated authen
>>> scheme then they can be dropped. I think it's useful to have the
>>> ability to include them, though I would tend to discourage their usage
>>> from a security PoV.
>>>
>>> Putting clientid as a property makes sense.
>>>
>>> - Aidan
>>>
>>> -- 
>>> Apache Qpid - World Domination through Advanced Message Queueing
>>> http://qpid.apache.org
>>>
>>> ---------------------------------------------------------------------
>>> Apache Qpid - AMQP Messaging Implementation
>>> Project:      http://qpid.apache.org
>>> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>>>
>>>
>>>     
>>
>> Alan,
>>
>> It is good that we are evolving the format to better adhere to
>> established standards and putting it forward to the AMQP-WG to become
>> the standard format. I don't think we should implement in the current
>> form until it is adopted by the AMQP-WG othewise we may have yet
>> another URL format to support.
>>
>> One approach would be to use replace amqp:// with qpid:// if we want
>> to press ahead before ratification.
>>
>> If I'm understanding correctly the examples should be formatted with
>> the amqp:// as follows. Though agree with Aidan that we should use a
>> 'user:pass@host' format such as:
>> amqp://tcp:foo:bar@host1:1234/vhost?clientid=baz
>>
>> * Examples
>>
>> # Connect to vhost "/" and via default AMQP port on host1. TCP is the
>> default protoocl.
>> amqp://host1
>>
>> # Connect to port 1234, virtual host "vhost" passing username,
>> password and a JMS client-id
>>
>>
>> # Connect to the first of host1,host2,host3 that succeeds, retry each 
>> twice.
>> # retry property at connection level is applied to all addresses.
>> amqp://host1;host2;host3/?retry=2
>>
>> # Connect to the first hosts that succeeds, retry host2 twice.
>> amqp://host1;host2?retry=2;host3
>>
>> Regards
>>
>> Martin
>>   
> 
> 
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
> 


Mime
View raw message