Tuesday, November 11, 2008

Diagnosing Problems With Custom Domains: Rex Swain's HTTP Viewer

Whenever I answer a problem report which involves a blog published to a Google Custom Domain, I always start my answer with a Dig log. A Dig log tells me what's behind the behaviour of the Custom Domain. Having looked at what's behind the scenes, I look at the front scenes. One very common front scene is (guess what?)
Server Not Found

Error 404
and I'll report to someone
You have the well known
"Server Not Found
Error 404".
and to a select few that will be news.
Great, Chuck, what do I do now?
but to many bloggers
Great, Chuck, tell me something that I don't know.
So, how do you describe the old "404", so you can diagnose it?

For analysing the sequence of events that lead to the "404", and various other browser related events, I use the Rex Swain HTTP Viewer. This is a free (what else?) online service, that produces an online text log (suitable for copying and pasting) of the contents of an HTTP conversation between a web client (such as your computer) and a web server (such as a Blogger server).

The HTTP Viewer isn't complicated to use.
  1. Direct your browser to www.rexswain.com/httpview.html.
  2. Copy and paste the URL of your choice, into the "URL" window.
  3. Select "Text" for "Display Format".
  4. Hit the "Submit" button.


Here's a log from a recently observed "404", a symptom that we all know so well (and wish that we did not):

Rex Swain's HTTP Viewer

http://www.rexswain.com/httpview.html

Parameters:

URL = http://www.mydomain.com
UAG = Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17
AEN =
REQ = GET ; VER = 1.1 ; FMT = TXT

Sending request:

GET / HTTP/1.1
Host: www.mydomain.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17
Connection: close
• Finding host IP address...
• Host IP address = 66.249.81.121
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...

Receiving Header:

HTTP/1.1·404·Not·Found(CR)(LF)
Date:·Tue,·11·Nov·2008·20:00:30·GMT(CR)(LF)
X-Content-Type-Options:·nosniff(CR)(LF)
Expires:·Tue,·11·Nov·2008·20:00:30·GMT(CR)(LF)
Cache-Control:·private,·max-age=0(CR)(LF)
Content-Length:·142(CR)(LF)
Content-Type:·text/html(CR)(LF)
Server:·GFE/1.3(CR)(LF)
Connection:·Close(CR)(LF)
(CR)(LF)

End of Header (Length = 253)

• Elapsed time so far: 1 seconds
• Waiting for additional response until connection closes...

Total bytes received = 395

Elapsed time so far: 1 seconds

Content (Length = 142):

<HTML>(LF)
<head>(LF)
<title>404</title>(LF)
</head>(LF)
<body·bgcolor="#ffffff"·text="#000000">(LF)
<h1>Server·Not·Found</h1>(LF)
<h2>Error·404< /h2>(LF)
</body>(LF)
</html>(LF)

Done

Total elapsed time: 1 seconds


And as usual, I'll excerpt the most relevant portions of the display.

Sending request:
GET / HTTP/1.1
Host: www.mydomain.com

• Finding host IP address...
• Host IP address = 66.249.81.121

Receiving Header:

HTTP/1.1·404·Not·Found


That's a simple example - and you can make your own examples, easily enough.

Given the HTTP Viewer, and a good Dig log, we are probably 50% of the way towards understanding any blogger caused problems. Now, Blogger caused problems may be another story.

But this is a start.

>> Top

3 comments:

Mike said...

another http watch service i use is http://www.httpviewer.net - its similar. You can also use mozila firefox plugings to do it too.

Chuck said...

Thanks, Mike! The HTTPViewer looks interesting (though lacks IP address information, very useful with custom domain problems).

What Firefox add-ons do you use?

Aquaticopia said...

I wish I could download and install your internet intelligence directly into my head..I got to your blog through several hundred searches/click-throughs trying to figure out what should be the most simple task: viewing my own dang website, instead of this generic "welcome" page (google apps site, domain name Aquaticopia.com, hosted by godaddy.com).

From what I've gathered from your post (and from checking my dig using your links), it looks like I'm getting forwarded from my HTTP site to this HTTPS. I'm totally new to website creation, but am luckily taking a course next semester about "E-commerce". I had decent success using a free-site for an MMORPG guild, but it had its own easy-mode editor!
This is a whole new league for me and I've spent at least 50 hours just trying to setup the simple gadgets/apps/settings provided by google (like adsense, my CNAME, etc.) and I believe I'm going to have to get a friend to do this for me.

Now I'll try to figure out what the heck HTTP and HTTPS mean to me! Thanks for your blog and I hope you're still bloggin' (I'm also new to blogger as well lol)!