On Fri, Sep 17, 2010 at 1:02 PM, Ian Bicking <span dir="ltr">&lt;<a href="mailto:ianb@colorstudy.com">ianb@colorstudy.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="gmail_quote"><div>I would really like to see concerns over bad gateways not be used to keep valuable information out of the spec.  We want people to use well-configured gateways that accurately represent requests.  There are limits, e.g., in environments where information is lost.  The only really problematic example is losing the distinction between %2f and /, and I think it&#39;s reasonable to suggest that applications should avoid making that distinction in the path if they want to be easily deployed in different environments.<br>

</div></div></blockquote></div><br>Just to expand -- the reason %2f is special is because / has special meaning in URL paths, or at least is treated as such.  ? has special meaning too, but that&#39;s already handled by splitting off QUERY_STRING.  Technically ; is supposed to mean something, but no one ever cared, so it doesn&#39;t really.  In theory you could make any character special, and in doing so want an escape mechanism to determine the difference between, e.g., &quot;,&quot; and %2c... but no one does that, so no problem.<br>

<br>All the other potential problems are problems of gateway corruption.  E.g., where the bytes were decoded with Latin1 and then encoded with sys.getfilesystemencoding(), or some other mismatched combination.  I don&#39;t believe we should expose gateway corruption to the spec.  I *do* believe that we can build tools inside WSGI to help debug and fix those problems, and I don&#39;t think any of these changes makes those tools particularly harder to implement.<br clear="all">

<br>-- <br>Ian Bicking  |  <a href="http://blog.ianbicking.org">http://blog.ianbicking.org</a><br>