HTTP Help: How to test HTTP using Telnet

Telnet is a long-time favorite for troubleshooting connection issues. It can be used to attempt to connect to a server on a given port. Generally you can quickly ascertain whether something is "listening" on the remote side--which will confirm that (1) you can get to the remote server from your test box, and (2) that a server is running and bound to the specified port you requested.

More specifically, telnet can be used to test HTTP scenarios, effectively stripping through all the friendly layers a browser usually hides from web visitor eyes. Troubleshooting HTTP using telnet is a great way to review exactly what is getting returned to your browser during a web request for a particular url. This allows you to see headers and collect other information related to the web server.

Need a good HTTP troubleshooting reference? Here are some HTTP resources.

Here is a simple example making an HTTP 1.1 request. First, get to a command prompt. For example, if you are using Windows, Start -> Run -> cmd. (Though if you are using Windows, you may want to use something like CYGWIN, or Putty rather than the DOS prompt.)


>telnet 80
Note: this launches telnet and tells it to look up and connect to the server for "" on port 80.


Trying Connected to Escape character is '^]'.


GET /index.htm HTTP/1.1 host: <line feed>
1) no OS cursor caret, the connection is open so you just get a blank line waiting for input.
2) need to hit <enter> twice after the "host:"


HTTP/1.1 200 OK Date: Mon, 18 Apr 2005 16:38:00 GMT Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6 PHP/4.1.2 mod_perl/1.27 FrontPage/ Last-Modified: Thu, 01 Jul 2004 01:16:05 GMT ETag: "158e008c-182c-40e365d5" Accept-Ranges: bytes Content-Length: 6188 Connection: close Content-Type: text/html <html> <head> <title>... ...lots of HTML code here... </body></html> Connection closed by foreign host. >

Additional keywords: troubleshooting, http, telnet