qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Robie <jonathan.ro...@redhat.com>
Subject Re: Proposal to unify qpid and AMQP URL formats.
Date Tue, 10 Feb 2009 16:48:35 GMT
For consistency with HTML URLs, I prefer ; to ,

http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2

[quote]


      B.2.2 Ampersands in URI attribute values

The URI that is constructed when a form is submitted 
<http://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html#submit-format> 
may be used as an anchor-style link (e.g., the href 
<http://www.w3.org/TR/1999/REC-html401-19991224/struct/links.html#adef-href> 
attribute for the A 
<http://www.w3.org/TR/1999/REC-html401-19991224/struct/links.html#edef-A> 
element). Unfortunately, the use of the "&" character to separate form 
fields interacts with its use in SGML attribute values to delimit 
character entity references 
<http://www.w3.org/TR/1999/REC-html401-19991224/intro/sgmltut.html#character-entities>.

For example, to use the URI "http://host/?x=1&y=2" as a linking URI, it 
must be written <A href="http://host/?x=1&#38;y=2"> or <A 
href="http://host/?x=1&amp;y=2">.

We recommend that HTTP server implementors, and in particular, CGI 
implementors support the use of ";" in place of "&" to save authors the 
trouble of escaping "&" characters in this manner.[/quote]


Jonathan


Alan Conway wrote:
> 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
>>
>
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message