According to the doc's:

"Head issues a HEAD to the specified URL. **If the response is one of the following redirect codes, Head follows the redirect after calling the Client's CheckRedirect function**."

And the Client's CheckRedirect function is called automatically when doing a HEAD request:

```
// Head issues a HEAD to the specified URL.  If the response is one of the
// following redirect codes, Head follows the redirect after calling the
// Client's CheckRedirect function.
//
//    301 (Moved Permanently)
//    302 (Found)
//    303 (See Other)
//    307 (Temporary Redirect)
//
// Head is a wrapper around DefaultClient.Head
func Head(url string) (resp *Response, err error) {
  return DefaultClient.Head(url)
}

// Head issues a HEAD to the specified URL.  If the response is one of the
// following redirect codes, Head follows the redirect after calling the
// Client's CheckRedirect function.
//
//    301 (Moved Permanently)
//    302 (Found)
//    303 (See Other)
//    307 (Temporary Redirect)
func (c *Client) Head(url string) (resp *Response, err error) {
  req, err := NewRequest("HEAD", url, nil)
  if err != nil {
    return nil, err
  }
  return c.doFollowingRedirects(req, shouldRedirectGet)
}
```

So this calls c.doFollowingRedirects method which in turn calls the c.CheckRedirect method:

```
func (c *Client) doFollowingRedirects(ireq *Request, shouldRedirect func(int) bool) (resp *Response, err error) {
   252		var base *url.URL
   253		redirectChecker := c.CheckRedirect
<snip>
```

And the default behaviour is:

"If CheckRedirect is nil", which it is for a DefaultClient, "the Client uses its default policy, which is to stop after 10 consecutive requests."

So that causes the redirect to take place :) Next to that I (of course) also did test it myself to verify all the above info is in fact like it seems, and as far as my tests showed, this is indeed the case. So doing a single HEAD request will not solve this use case, unless I'm completely out of sync with you and you meant something totally different?