[mdx] draft-young-md-query new draft 06 posted

Tom Scavo trscavo at gmail.com
Sat Jan 14 07:38:28 PST 2017


On Sat, Jan 14, 2017 at 6:53 AM, Ian Young <ian at iay.org.uk> wrote:
>
> On 13 Jan 2017, at 21:50, Tom Scavo <trscavo at gmail.com> wrote:
>
> Okay, so I think you're saying this is the *minimal* encoding necessary:
>
> http://metadata.example.org/service/entities/http:%2F%2Fexample.org%2Fidp
>
>> Yes.
>>
> but I assume full per-cent encoding will work as well:
>
>> Yes, over-encoding is fine in the sense that it should give the same result.

Then I think you need to say that:

1. The character '/' MUST be percent-encoded.

2. The space character MUST be encoded as '%20' and MUST NOT be
encoded as '+' as would be required in a query parameter.

3. Any other character MAY be percent-encoded.

> Over-encoding sometimes happens in practice because which encoding method to
> use can be a little confusing and people use the wrong one...

Indeed. It's a total mess in practice.

In practice, client software will expose one or more encoding
routines. The user needs to make a choice. That's why I'm suggesting
the catch-all third item be added to the spec. Without that, it's not
clear to the user whether a particular routine is acceptable.

> it just didn't
> seem like a good idea to propagate that kind of mistake, even in a
> (non-normative) example.

I agree but OTOH I'll suggest you also display

http://metadata.example.org/service/entities/http%3A%2F%2Fexample.org%2Fidp

and note that it is acceptable as well. That's the output of a full
percent encoder, which is the most likely routine one will find in
practice.

Finally, the spec doesn't say anything about what a conforming server
should do. That's not obvious. If it were, we wouldn't have to go to
such great lengths to describe client behavior.

Tom


More information about the mdx mailing list