compliance.html 6.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Standards compliance</title><link rel="stylesheet" type="text/css" href="manual.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="intro.html" title="Chapter 1. Introduction"><link rel="prev" href="example.html" title="Example application"><link rel="next" href="security.html" title="HTTP Client Security"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Standards compliance</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="example.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction</th><td width="20%" align="right"> <a accesskey="n" href="security.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compliance"></a>Standards compliance</h2></div></div></div><p>neon is intended to be compliant with the IETF and W3C
  2. standards which it implements, with a few exceptions due to
  3. practical necessity or interoperability issues. These
  4. exceptions are documented in this section.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="id1340"></a>RFC 2518, HTTP Extensions for Distributed Authoring—WebDAV</h3></div></div></div><p>neon is deliberately not compliant with section
  5. 23.4.2, and treats property names as a (namespace-URI, name)
  6. pair. This is <a class="ulink" href="http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0343.html" target="_top">generally
  7. considered</a> to be correct behaviour by the WebDAV
  8. working group, and is likely to formally adopted in a future
  9. revision of the specification.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="id1341"></a>RFC 2616, Hypertext Transfer Protocol—HTTP/1.1</h3></div></div></div><p>There is some confusion in this specification about the
  10. use of the <span class="quote">“<span class="quote">identity</span>”</span>
  11. <em class="firstterm">transfer-coding</em>. neon ignores the
  12. <code class="literal">Transfer-Encoding</code> response header if it
  13. contains only the (now deprecated) <span class="quote">“<span class="quote">identity</span>”</span>
  14. token, and will determine the response message length as if
  15. the header was not present. neon will give an error if a
  16. response includes a <code class="literal">Transfer-Encoding</code>
  17. header with a value other than <span class="quote">“<span class="quote">identity</span>”</span> or
  18. <span class="quote">“<span class="quote">chunked</span>”</span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="id1342"></a><a class="ulink" href="https://datatracker.ietf.org/doc/html/rfc3986" target="_top">RFC 3986</a> Uniform Resource Identifier (URI): Generic Syntax and <a class="ulink" href="https://datatracker.ietf.org/doc/html/rfc6874" target="_top">RFC 6874</a>, Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</h3></div></div></div><p>neon parses and handles scoped IPv6 link-local literal
  19. addresses passed to <a class="xref" href="refsess.html" title="ne_session_create"><span class="refentrytitle">ne_session_create</span></a> since version
  20. <code class="literal">0.34</code>, following the syntax in RFC 6874. An
  21. example <code class="literal">host</code> argument would be
  22. <code class="literal">"[fe80::cafe%25eth0]"</code> where
  23. <code class="literal">"eth0"</code> is the scope ID. Since <a class="ulink" href="https://datatracker.ietf.org/doc/html/rfc9110" target="_top">RFC
  24. 9110</a> does not reference the extended syntax of scoped
  25. IPv6 literals, and a scope ID has no meaningful interpretation
  26. outside of the client host, it is omitted from the
  27. <code class="literal">Host</code> header sent over the wire. So the
  28. example argument here translates to an HTTP/1.1 header field
  29. of <code class="literal">Host: [fe80::cafe]</code>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="id1343"></a>RFC 7616, HTTP Digest Access Authentication</h3></div></div></div><p>neon is not strictly compliant with the quoting rules
  30. given in the grammar for the <code class="literal">Authorization</code>
  31. header. The grammar requires that the <code class="literal">qop</code>
  32. and <code class="literal">algorithm</code> parameters are not quoted,
  33. however one widely deployed server implementation
  34. (Microsoft® IIS 5) rejects the request if these parameters
  35. are not quoted. neon sends these parameters with
  36. quotes—this is not known to cause any problems with
  37. other server implementations.</p><p>RFC 7616 predates RFC 9112 and uses conflicting language
  38. around URIs. neon uses the RFC 9112
  39. <code class="literal">request-target</code> in both the
  40. <code class="literal">A2</code> grammar and the <code class="literal">uri=</code>
  41. parameter of the <code class="literal">Authorization</code>
  42. header. neon will accept (and resolve) any URI-reference in
  43. the <code class="literal">domain=</code> parameter for
  44. <code class="literal">WWW-Authenticate</code> response header
  45. field.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="id1344"></a>Namespaces in XML</h3></div></div></div><p>The neon XML parser interface will accept and parse
  46. without error some XML documents which are well-formed
  47. according to the XML specification but do not conform to the
  48. "Namespaces in XML" specification <a class="xref" href="biblio.html#bib.xmlnames" title="Namespaces in XML">[<abbr class="abbrev">REC-XML-names</abbr>]</a>. Specifically: the restrictions on
  49. the first character of the <code class="literal">NCName</code> rule are
  50. not all implemented; neon will allow any
  51. <code class="literal">CombiningChar</code>, <code class="literal">Extender</code>
  52. and some characters from the <code class="literal">Digit</code> class in
  53. this position.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="example.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="intro.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="security.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Example application </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> HTTP Client Security</td></tr></table></div></body></html>