« Back to IP Phone Services Questions

Do the IP Phones support HTTP 1.1 or 1.0?

Combination View Flat View Tree View
Threads [ Previous | Next ]
Do the IP Phones support HTTP 1.1 or 1.0? Does it depend on the type of request?

Cisco IP Phones do behave differently depending on how the Host header is populated: whether an IP address is used instead of a hostname. RFC2616 is somewhat vague in the details and leaves it open to two different interpretations as to how the Host header should be populated when the requested URL uses an IP address instead of name:

1) The Host header should use the IP address in the same fashion as it would a hostname (example, "Host: 10.0.0.1:8080")
2) The Host header must always be included per spec, but since the specified host is not a hostname, it should be left empty ("Host :")

RFC2616 also states that HTTP 1.1 requests should not use IP addresses, therefore, it makes alot of sense to simply force any URLs using IP addresses to make HTTP 1.0 requests and avoid this issue entirely. This is what the Cisco IP phones do.

You may ask why this Host header thing is a problem to begin with? The main problem has to do with Tomcat. If Tomcat receives an HTTP 1.1 request, it knows (by RFC2616) that it must include a Host header, so Tomcat will ALWAYS pull the TCP port number from the Host header ... and if the Host header is empty (doesn't contain a port number) then it assumes the default port 80 ... which of course typically isn't correct. If it's an HTTP 1.0 request, Tomcat ignores the Host header and retrieves the port information from the socket, so we avoid the issue.