<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<font face="Helvetica, Arial, sans-serif">I don't know that I can go so
far as to say 'definitely' but we (AOL) do have some content publishing
systems where adding an HTML element to the head is much easier than
installing code to check header Accept type on every request. What I
don't know yet, is whether it is easy to set an HTTP header regardless
of the request. In these cases we might just return the X-XRDS-Location
header regardless. This seems to be the approach that Yahoo! has taken.
If you do a regular GET on <a class="moz-txt-link-abbreviated" href="http://www.yahoo.com">www.yahoo.com</a> you get the whole "home" page
in addition to the X-XRDS-Location header.<br>
<br>
Thanks,<br>
George<br>
<br>
P.S. Given that OpenID 1.x and 2.0 (in backward compatibility mode)
need to process &lt;link&gt; elements. What was the rationale for using
&lt;meta http-equiv="...&gt; over &lt;link&gt;?<br>
</font><br>
Manger, James H wrote:
<blockquote   cite="mid:255B9BB34FB7D647A506DC292726F6E11132B59EB4@WSMSG3153V.srv.dir.telstra.com"   type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="Generator" content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
  <title>Re: [xrds-simple] RE: HEAD/GET precedence</title>
  <o:SmartTagType   namespaceuri="urn:schemas-microsoft-com:office:smarttags"   name="PersonName">
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
  <style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:Arial;
        color:navy;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:302083108;
        mso-list-template-ids:-922317510;}
@list l1
        {mso-list-id:1216165867;
        mso-list-template-ids:-1045423974;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2
        {mso-list-id:1880898946;
        mso-list-template-ids:-1518286046;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
  </style></o:SmartTagType>
  <div class="Section1">
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">OpenIDers,<o:p></o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">Does anyone
in the OpenID community know
of services that definitely need to use &lt;meta
http-equiv="X-XRDS-Location"…/&gt;? For instance, services that
cannot read or set HTTP headers, but still need to support XRDS
discovery.<o:p></o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;" lang="FR"> 
&lt;meta
http-equiv="X-XRDS-Location" content=”…”/&gt;<o:p></o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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 class="moz-txt-link-freetext" href="http://www.whatwg.org/specs/web-apps/current-work/#parsing">http://www.whatwg.org/specs/web-apps/current-work/#parsing</a>].<o:p></o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">James Manger<o:p></o:p></span></font></p>
  <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
  <blockquote   style="margin-top: 5pt; margin-right: 0cm; margin-bottom: 5pt;">
    <div class="MsoNormal" style="text-align: center;" align="center"><font   color="navy" face="Times New Roman" size="3"><span   style="font-size: 12pt; color: navy;" lang="EN-US">
    <hr tabindex="-1" align="center" size="2" width="100%"></span></font></div>
    <p class="MsoNormal"><b><font color="black" face="Tahoma" size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold;"   lang="EN-US">From:</span></font></b><font color="black" face="Tahoma"   size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black;"   lang="EN-US"> <st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>
[mailto:<st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>]
    <b><span style="font-weight: bold;">On Behalf Of </span></b>Eran
Hammer-Lahav<br>
    <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, 1
July 2008 10:37
AM<br>
    <b><span style="font-weight: bold;">To:</span></b> <st1:PersonName   w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName></span></font><font   color="navy"><span style="color: navy;"><o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Times New Roman"   size="3"><span style="font-size: 12pt; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="black" face="Calibri" size="2"><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 color="navy" face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri; color: navy;"><o:p></o:p></span></font></p>
    <div class="MsoNormal" style="text-align: center;" align="center"><font   color="navy" face="Times New Roman" size="3"><span   style="font-size: 12pt; color: navy;" lang="EN-US">
    <hr tabindex="-1" align="center" size="2" width="100%"></span></font></div>
    <p class="MsoNormal"><b><font color="black" face="Tahoma" size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold;"   lang="EN-US">From:</span></font></b><font color="black" face="Tahoma"   size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black;"   lang="EN-US"> Manger, James H <br>
    <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, 1
July 2008 10:11
AM<br>
    <b><span style="font-weight: bold;">To:</span></b> '<st1:PersonName   w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>'</span></font><font   color="navy"><span style="color: navy;"><o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Times New Roman"   size="3"><span style="font-size: 12pt; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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 moz-do-not-send="true"   href="http://www.whatwg.org/specs/web-apps/current-work/#parsing">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 &lt;meta
http-equiv=…&gt; 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></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">James Manger<o:p></o:p></span></font></p>
    <div class="MsoNormal" style="text-align: center;" align="center"><font   color="navy" face="Times New Roman" size="3"><span   style="font-size: 12pt; color: navy;" lang="EN-US">
    <hr tabindex="-1" align="center" size="2" width="100%"></span></font></div>
    <p class="MsoNormal"><b><font color="black" face="Tahoma" size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold;"   lang="EN-US">From:</span></font></b><font color="black" face="Tahoma"   size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black;"   lang="EN-US"> <st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>
[mailto:<st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>]
    <b><span style="font-weight: bold;">On Behalf Of </span></b>Eran
Hammer-Lahav<br>
    <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, 1
July 2008 9:34 AM<br>
    <b><span style="font-weight: bold;">To:</span></b> <st1:PersonName   w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName></span></font><font   color="navy"><span style="color: navy;"><o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Times New Roman"   size="3"><span style="font-size: 12pt; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="black" face="Calibri" size="2"><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 color="navy" face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri; color: navy;"><o:p></o:p></span></font></p>
    <div class="MsoNormal" style="text-align: center;" align="center"><font   color="navy" face="Times New Roman" size="3"><span   style="font-size: 12pt; color: navy;" lang="EN-US">
    <hr tabindex="-1" align="center" size="2" width="100%"></span></font></div>
    <p class="MsoNormal"><b><font color="black" face="Tahoma" size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black; font-weight: bold;"   lang="EN-US">From:</span></font></b><font color="black" face="Tahoma"   size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: black;"   lang="EN-US"> <st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>
[mailto:<st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>]
    <b><span style="font-weight: bold;">On Behalf Of </span></b>Manger,
James H<br>
    <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, 1
July 2008 9:26 AM<br>
    <b><span style="font-weight: bold;">To:</span></b> <st1:PersonName   w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName><br>
    <b><span style="font-weight: bold;">Subject:</span></b>
[xrds-simple] Re:
HEAD/GET precedence</span></font><font color="navy"><span   style="color: navy;" lang="EN-US"><o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Times New Roman"   size="3"><span style="font-size: 12pt; color: navy;"> <o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Times New Roman"   size="3"><span style="font-size: 12pt; color: navy;">Hi Eran,<o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">The language
can still be simplified.<o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <ol style="margin-top: 0cm;" start="1" type="1">
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><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 face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;">I would omit the stuff
about fragments as that is standard HTTP.</span></font> <font   face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;">I would omit the 1<sup>st</sup>
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 face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><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 face="Arial"   size="2"><span style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;">Does anyone really need
the &lt;meta http-equiv=”…”/&gt; 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 face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
    </ol>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">My revised
suggestion:<o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">6. Document
Retrieval<o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
    <ul style="margin-top: 0cm;" type="disc">
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;">The metadata document,
delivered with a Content-Type of application/xrds+xml; or</span></font>
        <font face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Arial" size="2"><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 face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></font></li>
    </ul>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><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></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;"><o:p> </o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;">James Manger<o:p></o:p></span></font></p>
    <div class="MsoNormal" style="text-align: center;" align="center"><font   color="navy" face="Times New Roman" size="3"><span   style="font-size: 12pt; color: navy;" lang="EN-US">
    <hr tabindex="-1" align="center" size="2" width="100%"></span></font></div>
    <p class="MsoNormal"><b><font color="navy" face="Tahoma" size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: navy; font-weight: bold;"   lang="EN-US">From:</span></font></b><font color="navy" face="Tahoma"   size="2"><span   style="font-size: 10pt; font-family: Tahoma; color: navy;" lang="EN-US">
    <st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>
[mailto:<st1:PersonName w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName>]
    <b><span style="font-weight: bold;">On Behalf Of </span></b>Eran
Hammer-Lahav<br>
    <b><span style="font-weight: bold;">Sent:</span></b> Saturday, 28
June 2008 8:54
AM<br>
    <b><span style="font-weight: bold;">To:</span></b> <st1:PersonName   w:st="on"><a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a></st1:PersonName><br>
    <b><span style="font-weight: bold;">Subject:</span></b>
[xrds-simple] Re:
HEAD/GET precedence</span></font><font color="navy"><span   style="color: navy;" lang="EN-US"><o:p></o:p></span></font></p>
    <p class="MsoNormal"><font color="navy" face="Times New Roman"   size="3"><span style="font-size: 12pt; color: navy;" lang="EN-US"><o:p> </o:p></span></font></p>
    <p class="MsoNormal" style="margin-bottom: 12pt;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri; color: navy;"   lang="EN-US">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. <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. <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 style="color: navy;"   lang="EN-US"><o:p></o:p></span></font></p>
    <ul type="disc">
      <li class="MsoNormal" style="color: navy;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri;" lang="EN-US">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;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri;" lang="EN-US">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;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri;" lang="EN-US">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;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri;" lang="EN-US">A valid
HTML document in the response body, with a &lt;head&gt; element that
includes a &lt;meta&gt; element with an http-equiv attribute equals to
X-XRDS-Location. The value of the &lt;meta&gt; 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>
    <p class="MsoNormal" style="margin-bottom: 12pt;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri; color: navy;"   lang="EN-US"><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. <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. <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. <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. <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. <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). <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" &lt;<a moz-do-not-send="true"   href="outbind://3-0000000023A15065FFC1D211BC7500104B08DBF104A93200/eran@hueniverse.com">eran@hueniverse.com</a>&gt;
wrote:</span></font><font color="navy"><span style="color: navy;"   lang="EN-US"><o:p></o:p></span></font></p>
    <p class="MsoNormal" style="margin-bottom: 12pt;"><font color="navy"   face="Calibri" size="2"><span   style="font-size: 11pt; font-family: Calibri; color: navy;"   lang="EN-US"><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 color="navy" face="Arial" size="2"><span   style="font-size: 10pt; font-family: Arial; color: navy;" lang="EN-US"><o:p></o:p></span></font></p>
  </blockquote>
  </div>
  <br>
--~--~---------~--~----~------------~-------~--~----~<br>
You received this message because you are subscribed to the Google
Groups "XRDS-Simple" group. <br>
To post to this group, send email to <a class="moz-txt-link-abbreviated" href="mailto:xrds-simple@googlegroups.com">xrds-simple@googlegroups.com</a> <br>
To unsubscribe from this group, send email to
<a class="moz-txt-link-abbreviated" href="mailto:xrds-simple-unsubscribe@googlegroups.com">xrds-simple-unsubscribe@googlegroups.com</a> <br>
For more options, visit this group at
<a class="moz-txt-link-freetext" href="http://groups.google.com/group/xrds-simple?hl=en">http://groups.google.com/group/xrds-simple?hl=en</a> <br>
-~----------~----~----~----~------~----~------~--~---<br>
  <br>
</blockquote>
</body>
</html>