On Apr 18, 2007, at 15:11, Frans van Daalen wrote:

> I constructed a 301 page for you at www.hedaal.nl/tmp/fromhere.asp
>
> If you use IE this link will relocate you to
> http://www.hedaal.nl/tmp/to%20here.html
>
> If you use OverbyteIcsHttpTst it will give you a 400 <Bad Request> 
> because
> of the space in "to here.html"
>
> The asp code for the fromhere.asp is
> -----------------
>    p = "http://www.hedaal.nl/tmp/to here.html"
>    Response.Status="301 Moved Permanently"
>    Response.AddHeader "Location", p
> ----------------

This is done by the browser automatically -- IE and other clients have 
built-in mechanisms to encode all URLs prior to sending the request.  
This is meant to work around the fact that most users can't (and 
shouldn't have to!) type URLs in a properly encoded format.  By 
performing this task at the last moment possible, then as a bonus all 
requests are encoded, whether the user typed it in, or it was captured 
from a link, an FTP file list, or a redirect response.  This is an 
application behavior and I do not think it should be part of the 
underlying transport component.

Notice that replacing spaces may not suffice, as it may fail too if any 
other unencoded character is included; so if you want HttpCli to handle 
it, I would suggest rather a call to an HTML-Encode function for the 
URL prior to posting the response.  However, I still think that this 
should go at the point of actually sending the response, to make sure 
that *any* URL requested is encoded properly, regardless of where it 
was captured (user, redirect response, etc.).

        dZ.

-- 
        DZ-Jay [TeamICS]
        http://www.overbyte.be/eng/overbyte/teamics.html

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to