I’ve been working a lot on the next generation web server for the alvinalexander.com website lately, and as I’m looking at different HTTP accelerators, I keep wanting/needing to look at the headers returned by my web pages. A simple way to look at the HTTP headers from the command line is with the curl command, like this:
curl -I http://example.com/
Running this command against the main Google website, I see output like this:
HTTP/1.1 200 OK Date: Tue, 06 Dec 2011 00:57:08 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Set-Cookie: PREF=ID=long-string-here; expires=Thu, 05-Dec-2013 00:57:08 GMT; path=/; domain=.google.com Set-Cookie: NID=very-long-string-here; expires=Wed, 06-Jun-2012 00:57:08 GMT; path=/; domain=.google.com; HttpOnly Server: gws X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN Transfer-Encoding: chunked
Personally I can’t remember the -I flag, so I use the --head flag, which is easier for me to remember:
curl --head http://example.com
You can do something similar with the telnet command, connecting to a website on port 80, and then using the HTTP HEAD command, but I’ve found that second curl command much easier to remember.
In summary, if you ever need to look at the HTTP headers from a website or web application, I hope this tip on using the Unix/Linux curl command has been helpful.

