I wrote this tool because HTTP viewers can be really useful for developers who are building browsers or making robots on their own. When I was writing the web crawler for SEO Warp, there were plenty of times where I’d get unexpected results from a remote server after sending a request. Using HTTP viewing tools, I could send requests to the same server in a similar way as SEO Warp and would see where the results differed.
Not only that, but it’s fun to see some of the odd headers that other sites return. For example, if you point the Viewer to http://slashdot.org/, you might see a message like the following in their HTTP response header:
HTTP/1.1 200 OK\r\n
Server: Apache/1.3.42 (Unix) mod_perl/1.31\r\n
X-Powered-By: Slash 2.00500120110603\r\n
X-Bender: Woohoo, I'm popular!\r\n
HTTP Viewer will accept connections over both HTTP and HTTPS, both allowing HTTP/1.1 and HTTP/1.0 in case you want to test an older protocol.
The other available options include being able to set the verb (GET, HEAD, TRACE and POST), referer, encoding, and user agent.
There’s also the option to display the contents of a remote file in either text or hexadecimal format. In the text format, newlines and carriage returns are emphasized with bold “\n” and “\r”s respectively so that it’s clear where they are in the transfer. This is great for finding errors with these usually-invisible characters.
The hexadecimal formatting displays the contents of the file in the same way that a hex editor would: the far left is the current line number in hex format, the middle column is the contents in hex, and the right column shows the ASCII characters (though, only between a limited character range; many ASCII characters are meant to be communicative rather than displayed and extended characters are pretty useless in hex view, so they are not shown). This mode is great for reading remote files, particularly headers of different file formats to see if they’re set properly.
Go ahead and play around with it. If you find it useful, you can add it to your browser’s bookmarks. If you don’t, post a comment and let me know what you’d like to see it do differently. And if you’d like to see a specific tool written, especially if it can help other web developers, please leave a comment with your ideas below.