<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">The use case is less of a "service provider" but rather a normal user. If I wanted to link to an XRDS-Simple document from <a href="http://www.davidrecordon.com/">http://www.davidrecordon.com/</a> it is far simpler for me to do so with a bit of HTML (which I can copy and paste) than by setting headers. I think we've clearly seen this in terms of how popular OpenID Delegation is.<div><br></div><div>--David</div><div><br><div><div>On Jun 30, 2008, at 8:54 PM, Manger, James H wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div lang="EN-AU" link="blue" vlink="blue"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"><div class="Section1"><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">OpenIDers,<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">Does anyone in the OpenID community know of services that definitely need to use <meta http-equiv="X-XRDS-Location"…/>? For instance, services that cannot read or set HTTP headers, but still need to support XRDS discovery.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">XRDS-Simple [xrds-simple.net] is a draft profile of XRDS.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">One possible simplification is not requiring clients to parse an HTML response looking for<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span lang="FR" style="font-size: 10pt; font-family: Arial; color: navy; "> <meta http-equiv="X-XRDS-Location" content=”…”/><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">Instead, clients would only need to look for an X-XRDS-Location HTTP header or a Content-Type of application/xrds+xml.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">Parsing HTML is not trivial so avoiding it could be worthwhile [§9.2 “Parsing HTML documents” takes almost 60 pages of the 500 page draft HTML5 spec<a href="http://www.whatwg.org/specs/web-apps/current-work/#parsing" style="color: blue; text-decoration: underline; ">http://www.whatwg.org/specs/web-apps/current-work/#parsing</a>].<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">James Manger<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><blockquote style="margin-top: 5pt; margin-right: 0cm; margin-bottom: 5pt; "><div class="MsoNormal" align="center" style="text-align: center; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span lang="EN-US" style="font-size: 12pt; color: navy; "><hr size="2" width="100%" align="center" tabindex="-1"></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold; ">From:</span></font></b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; "><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname><span class="Apple-converted-space"> </span>[mailto:<st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname>]<span class="Apple-converted-space"> </span><b><span style="font-weight: bold; ">On Behalf Of<span class="Apple-converted-space"> </span></span></b>Eran Hammer-Lahav<br><b><span style="font-weight: bold; ">Sent:</span></b><span class="Apple-converted-space"> </span>Tuesday, 1 July 2008 10:37 AM<br><b><span style="font-weight: bold; ">To:</span></b><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname></span></font><font color="navy"><span style="color: navy; "><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span style="font-size: 12pt; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="black" face="Calibri"><span style="font-size: 11pt; font-family: Calibri; color: black; ">I think we need to post this question to the OpenID community as they are the primary users of this feature. I’ll do it later today if you don’t beat me to it (hint – please do).</span></font><font size="2" color="navy" face="Calibri"><span style="font-size: 11pt; font-family: Calibri; color: navy; "><o:p></o:p></span></font></div><div class="MsoNormal" align="center" style="text-align: center; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span lang="EN-US" style="font-size: 12pt; color: navy; "><hr size="2" width="100%" align="center" tabindex="-1"></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold; ">From:</span></font></b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; "><span class="Apple-converted-space"> </span>Manger, James H<span class="Apple-converted-space"> </span><br><b><span style="font-weight: bold; ">Sent:</span></b><span class="Apple-converted-space"> </span>Tuesday, 1 July 2008 10:11 AM<br><b><span style="font-weight: bold; ">To:</span></b><span class="Apple-converted-space"> </span>'<st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname>'</span></font><font color="navy"><span style="color: navy; "><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span style="font-size: 12pt; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">Are there really going to be SPs that are sophisticated enough to support discovery, but so basic that they cannot set an X-XRDS-Location header or read an Accept header? I think you are setting the bar too low – at the cost of complicating every client (that now needs an HTML parser).<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">HTML parsing was originally based on SGML, but is now effectively its own language. The best specification of HTML parsing is<a href="http://www.whatwg.org/specs/web-apps/current-work/#parsing" style="color: blue; text-decoration: underline; ">http://www.whatwg.org/specs/web-apps/current-work/#parsing</a>. “§9.2 Parsing HTML documents” takes almost 60 pages of this 500 page draft spec. My guess is that many apps using XRDS-Simple will not need an HTML parser for any other task – they will be designed for more precise syntaxes (XML, XHTML, JSON, Atom, key=value…). They are likely to look for a <meta http-equiv=…> element in various ad hoc ways (regular expressions, XHTML parser, HTML library, indexOf()…) that will mostly work but you can never be certain.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">James Manger<o:p></o:p></span></font></div><div class="MsoNormal" align="center" style="text-align: center; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span lang="EN-US" style="font-size: 12pt; color: navy; "><hr size="2" width="100%" align="center" tabindex="-1"></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold; ">From:</span></font></b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; "><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname><span class="Apple-converted-space"> </span>[mailto:<st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname>]<span class="Apple-converted-space"> </span><b><span style="font-weight: bold; ">On Behalf Of<span class="Apple-converted-space"> </span></span></b>Eran Hammer-Lahav<br><b><span style="font-weight: bold; ">Sent:</span></b><span class="Apple-converted-space"> </span>Tuesday, 1 July 2008 9:34 AM<br><b><span style="font-weight: bold; ">To:</span></b><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname></span></font><font color="navy"><span style="color: navy; "><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span style="font-size: 12pt; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="black" face="Calibri"><span style="font-size: 11pt; font-family: Calibri; color: black; ">I think you went too far... :-)<br><br>But these are good points. The reason why HTML discovery is supported is to allow SPs without access to headers or accept requests to still be able to offer discovery. The reason why the second Accept is a SHOULD is because it doesn’t need to be a MUST given that it is for a resource that is only an XRDS document (must be).<br><br>The fragment text is to make it clear about the difference between the resource fragment and the location fragment. I’ll take a second look to see if I can simplify it.</span></font><font size="2" color="navy" face="Calibri"><span style="font-size: 11pt; font-family: Calibri; color: navy; "><o:p></o:p></span></font></div><div class="MsoNormal" align="center" style="text-align: center; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span lang="EN-US" style="font-size: 12pt; color: navy; "><hr size="2" width="100%" align="center" tabindex="-1"></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold; ">From:</span></font></b><font size="2" color="black" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: black; "><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname><span class="Apple-converted-space"> </span>[mailto:<st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname>]<span class="Apple-converted-space"> </span><b><span style="font-weight: bold; ">On Behalf Of<span class="Apple-converted-space"> </span></span></b>Manger, James H<br><b><span style="font-weight: bold; ">Sent:</span></b><span class="Apple-converted-space"> </span>Tuesday, 1 July 2008 9:26 AM<br><b><span style="font-weight: bold; ">To:</span></b><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname><br><b><span style="font-weight: bold; ">Subject:</span></b><span class="Apple-converted-space"> </span>[xrds-simple] Re: HEAD/GET precedence</span></font><font color="navy"><span lang="EN-US" style="color: navy; "><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span style="font-size: 12pt; color: navy; "> <o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span style="font-size: 12pt; color: navy; ">Hi Eran,<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">The language can still be simplified.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><ol start="1" type="1" style="margin-top: 0cm; margin-bottom: 0cm; "><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">I would omit the sentence saying “retrieval is performed in two steps” as it might be 1 step (XRDS returned directly), or it might be more than 2 steps if there are redirects.</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">I would omit the stuff about fragments as that is standard HTTP.</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">I would omit the 1<sup>st</sup><span class="Apple-converted-space"> </span>sentence in 6.2 about checking the location against the endpoint. That would simply be a server error, which the client would notice after the next request anyway.</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">Including “Accept: application/xrds+xml” is a MUST in 6.1 (unless the MUST only refers to the GET? Add another MUST to be clear), but only a SHOULD in 6.2. May as well make it MUST in both cases.</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">Does anyone really need the <meta http-equiv=”…”/> option? That would be a good one to drop in the XRDS-Simple profile, particularly as parsing HTML is non-trivial (unless making some ad hoc simplifications) and quite different from parsing XML.</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li></ol><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">My revised suggestion:<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">6. Document Retrieval<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">On receiving a GET request with an Accept header listing application/xrds+xml, the server SHALL respond with:<o:p></o:p></span></font></div><ul type="disc" style="margin-top: 0cm; margin-bottom: 0cm; "><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">The metadata document, delivered with a Content-Type of application/xrds+xml; or</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; ">An X-XRDS-Location header whose value is an absolute HTTP(S) URI of the metadata document.</span></font><font size="2" face="Arial"><span style="font-size: 10pt; font-family: Arial; "><o:p></o:p></span></font></li></ul><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">The server may respond with HTTP redirects at any point.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">Any fragment identifier in the URI that delivers the metadata document identifies an XML element with a matching xml:id attribute value.<o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Arial"><span style="font-size: 10pt; font-family: Arial; color: navy; ">James Manger<o:p></o:p></span></font></div><div class="MsoNormal" align="center" style="text-align: center; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span lang="EN-US" style="font-size: 12pt; color: navy; "><hr size="2" width="100%" align="center" tabindex="-1"></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><b><font size="2" color="navy" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: navy; font-weight: bold; ">From:</span></font></b><font size="2" color="navy" face="Tahoma"><span lang="EN-US" style="font-size: 10pt; font-family: Tahoma; color: navy; "><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname><span class="Apple-converted-space"> </span>[mailto:<st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname>]<span class="Apple-converted-space"> </span><b><span style="font-weight: bold; ">On Behalf Of<span class="Apple-converted-space"> </span></span></b>Eran Hammer-Lahav<br><b><span style="font-weight: bold; ">Sent:</span></b><span class="Apple-converted-space"> </span>Saturday, 28 June 2008 8:54 AM<br><b><span style="font-weight: bold; ">To:</span></b><span class="Apple-converted-space"> </span><st1:personname w:st="on"><a href="mailto:xrds-simple@googlegroups.com" style="color: blue; text-decoration: underline; ">xrds-simple@googlegroups.com</a></st1:personname><br><b><span style="font-weight: bold; ">Subject:</span></b><span class="Apple-converted-space"> </span>[xrds-simple] Re: HEAD/GET precedence</span></font><font color="navy"><span lang="EN-US" style="color: navy; "><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="3" color="navy" face="Times New Roman"><span lang="EN-US" style="font-size: 12pt; color: navy; "><o:p> </o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; color: navy; ">Proposed language for draft 2:<br><br>---<br>6. Document Retrieval<br><br>The Consumer obtains the Metadata Document by requesting the application/xrds+xml content type representation of the Resource. XRDS-Simple only defines a retrieval method for HTTP(S) Endpoints. While XRDS-Simple supports descriptions of non-HTTP(S) Endpoints, the method in which their associated Metadata Document is retrieved is beyond the scope of this specification.<span class="Apple-converted-space"> </span><br><br>Document retrieval is performed in two steps. First the document's location is obtained from the Endpoint, then the location obtained is used to request the Metadata Document.<span class="Apple-converted-space"> </span><br><br>6.1. Obtaining Location<br><br>The Consumer MUST issue an HTTP(S) GET request to the Endpoint and include an Accept header specifying content type application/xrds+xml. If the Endpoint contains a fragment as defined by [RFC3986] (Berners-Lee, T., “Uniform Resource Identifiers (URI): Generic Syntax,” .) section 3, it MUST be removed prior to making the request. The Service Provider response MUST be one of four options:</span></font><font color="navy"><span lang="EN-US" style="color: navy; "><o:p></o:p></span></font></div><ul type="disc" style="margin-bottom: 0cm; "><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; ">An HTTP redirect response with a Location header which the Consumer MUST follow by repeating the GET request with the provided URI.</span></font><span lang="EN-US"><o:p></o:p></span></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; ">A Content-Type header with value application/xrds+xml. In this case the response body is the Metadata Document and the workflow ends successfully skipping the step described in Section 6.2 (Requesting Document).</span></font><span lang="EN-US"><o:p></o:p></span></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; ">An X-XRDS-Location header where the value of the header MUST be an absolute HTTP(S) URI which gives the document's location.</span></font><span lang="EN-US"><o:p></o:p></span></li><li class="MsoNormal" style="color: navy; margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; ">A valid HTML document in the response body, with a <head> element that includes a <meta> element with an http-equiv attribute equals to X-XRDS-Location. The value of the <meta> element content attribute MUST be an absolute HTTP(S) URI which gives the document's location.</span></font><span lang="EN-US"><o:p></o:p></span></li></ul><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; color: navy; "><br>The Consumer MUST check the Service Provider's response for one of the four options in the order they are listed above, and MUST stop as soon as a match is found. If no match is found, the protocol fails and the discovery workflow ends unsuccessfully.<span class="Apple-converted-space"> </span><br><br>NOTE: The Consumer MAY attempt to issue an HTTP(S) HEAD request to the Endpoint specifying the content type prior to issuing the HTTP(S) GET request. If the Service Provider's response is a redirect, or includes the X-XRDS-Location header without a Content-Type header with value application/xrds+xml, the Consumer can skip the HTTP(S) GET request, otherwise will have to repeating both requests. Using the HEAD request is NOT RECOMMENDED unless the Consumer knows the Service Provider is likely to reply with a redirect response or an X-XRDS-Location header without a Content-Type header with value application/xrds+xml.<span class="Apple-converted-space"> </span><br><br>6.2. Requesting Document<br><br>The Consumer SHOULD check if the document's location is identical to the Endpoint, excluding any differences in the URI fragments. If the URIs are considered identical, the discovery workflow ends unsuccessfully as that request has already failed to produce a valid XRDS-Simple document.<span class="Apple-converted-space"> </span><br><br>The Consumer MUST request the Metadata Document from the location URI using an HTTP(S) GET request and SHOULD include an Accept header specifying content type application/xrds+xml. The Consumer MUST follow any HTTP redirect responses received while requesting the Metadata Document.<span class="Apple-converted-space"> </span><br><br>The Service Provider MUST reply with a valid XRDS-Simple document in the response body. The Response SHOULD include the Content-Type header with value application/xrds+xml. If the response is not a valid XRDS-Simple document, the discovery workflow ends unsuccessfully.<span class="Apple-converted-space"> </span><br><br>If the document's location URI contains a fragment (not to be confused with an Endpoint fragment), it is used as an XRD identifier pointing to a specific XML element with an xml:id attribute of an identical value. The XRD identifier is described in Section 8.1 (XRD Identification).<span class="Apple-converted-space"> </span><br>---<br><br>I am not even sure we need to keep the HEAD protocol reference. HTTP defines how HEAD should work and this is really just a simple HEAD use cases. This text *does* change the discovery flow from XRI Resolution 2.0 in that it looks for the xrds content type header before the X-XRDS-Location header.<br><br>EHL<br><br><br>On 6/21/08 10:57 PM, "Eran Hammer-Lahav" <<a href="outbind://3-0000000023A15065FFC1D211BC7500104B08DBF104A93200/eran@hueniverse.com" style="color: blue; text-decoration: underline; ">eran@hueniverse.com</a>> wrote:</span></font><font color="navy"><span lang="EN-US" style="color: navy; "><o:p></o:p></span></font></div><div style="margin-top: 0cm; margin-right: 0cm; margin-left: 0cm; margin-bottom: 0.0001pt; font-size: 12pt; font-family: 'Times New Roman'; "><font size="2" color="navy" face="Calibri"><span lang="EN-US" style="font-size: 11pt; font-family: Calibri; color: navy; "><br><br>Reviewing my list of open issues for draft 2, I read this post a second time and tend to agree with James analysis in his first point.<br><br>Can any of the Yadis/OpenID authors explain why we have this inconsistency between GET and HEAD? If that can be resolved I would like to adopt the second suggestion.<br><br>EHL</span></font><font size="2" color="navy" face="Arial"><span lang="EN-US" style="font-size: 10pt; font-family: Arial; color: navy; "><o:p></o:p></span></font></div></blockquote></div>_______________________________________________<br>general mailing list<br><a href="mailto:general@openid.net" style="color: blue; text-decoration: underline; ">general@openid.net</a><br><a href="http://openid.net/mailman/listinfo/general" style="color: blue; text-decoration: underline; ">http://openid.net/mailman/listinfo/general</a><br></o:smarttagtype></div></span></blockquote></div><br></div></body></html>