Tcl Source Code

View Ticket
Login
Ticket UUID: 452217
Title: Host header does not include port number
Type: Bug Version: obsolete: 8.3.3
Submitter: tils Created on: 2001-08-17 21:06:51
Subsystem: 29. http Package Assigned To: hobbs
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2001-08-21 06:49:35
Resolution: Fixed Closed By: hobbs
    Closed on: 2001-08-20 23:49:35
Description:
When accessing an URL that includes a port number other
 then the standard web port 80 then I think it should
be included in the host header, like this:

Host: www.foo.com:9000

but http produces this header instead:

Host: www.foo.com

I did not check what the http spec says about this but
I guess including the port number is the correct thing
- at least mozilla 0.9.3 does it.

This can be easily reproduced by opening a socket on
the shell with

$ socket -s 9000

and requesting that address via tcl and with a web browser:

$ tclsh
% package require http
2.3
% ::http::geturl http://localhost:9000


The output on the socket shell displays the different
Host: headers.


I am using Linux 2.4.7 with debian, version of the tcl
package is: tcl8.3_8.3.3-1_i386.deb

I would highly appreciate any hints on how to this
could be worked around with the current version - I
could not find a way to manipulate the Host: header,
and I don't want to rewrite my app to use socket
manually. Using the -header option results in multiple
Host: headers.
User Comments: hobbs added on 2001-08-21 06:49:35:
Logged In: YES 
user_id=72656

Forgot to note that this was closed.

hobbs added on 2001-08-21 06:49:09:

File Added - 9759: http.patch

Logged In: YES 
user_id=72656

As specified in RFC 2068
http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2068.html
this is a change from HTTP/1.0 to 1.1, but Tcl's http 
package doesn't support many 1.1 features.  This can be 
added easily though.  The attached patch fixes this for the 
HEAD.

Attachments: