2006年03月10日 (金)

Google サイトマップが利用不可に

Google におけるサイトの統計情報を見ることができるサービス Google Sitemap が .Mac サイトでは利用不可になってしまいました。(もともと制限はありました)

この Google Sitemap は、URL 上最上位のディレクトリ( http://homepage.mac.com/ の直下)にファイルを置くことができる場合とサブディレクトリ以下にファイルを置くことしかできない場合とでレポートされる情報量が違います。我々 .Mac ユーザは自分のアカウント名によるサブディレクトリ以下しか制御できないので利用できる範囲は限定されていました。

それでも、iDisk で言えば Sites フォルダの直下に Google が指定するファイルを置けば以前は利用できていました。しかし、たまたま .Mac が不調のときに(これがユーザが気付かないときにもちょくちょくあるらしい) Google がそのサイトを調べにいったりすると「未確認」状態になってしまいます。これを元に戻すためには指定のファイルを置いた上で再度「確認」の操作をする必要があります。

ところがこの操作を行なっても04 (ファイルが見つかりません) エラー ページのヘッダーで 200 (OK) ステータスが返されました。 という状態になってしまいます。Google サイトマップ (Beta) ヘルプのこのエラーに関する記述によると

Google では、GET リクエストではなく HEAD リクエストでこの確認を行います。 ウェブ サーバーを正しく設定したら、サイトの確認をもう一度行ってください。

とあります。そこで実際に HEAD リクエストを homepage.mac.com に送信して様子を見てみました。次はそのスナップショットです。

$ telnet homepage.mac.com www
Trying 17.250.248.34...
EConnected to homepage.mac.com.
Escape character is '^]'.
HEAD /yuji_okamura/iblog/DotMac/Tips/google07xxxxxxxxxxxx88.html HTTP/1.0

HTTP/1.0 401 Unauthorized
Date: Fri, 10 Mar 2006 07:37:34 GMT
Content-Length: 26
Content-Type: text/html;charset=ISO-8859-1
x-responding-server: davhp02
Server: AppleDotMacServer
WWW-Authenticate: Basic realm="idisk.mac.com"
WWW-Authenticate: Digest realm="idisk.mac.com", qop="auth", nonce="640b01945f6457ae1bf4325f49b6cf5b", stale="false", opaque="e8180894b53d37885cd90ac1024b2311"
Content-Language: en-US
Via: 1.1 netcache08 (NetCache NetApp/5.5R6)

Connection closed by foreign host.

このように HTTP レベルで未認証のエラー(というか認証してくださいという応答)が返されています。このときのリクエストは HTTP のバージョンが 1.0 の場合の書式で行いました。しかし、realm という認証の有効範囲の名前には idisk.mac.com と iDisk のサーバ名が付いています。これは iDisk サーバにアクセスするときと .Mac Group を使用している場合にグループメンバ限定のページを閲覧するときに要求される認証です。HTTP のバージョンには 1.1 もあります。最近はほとんど 1.1 ブラウザに使用されています。1.0 との大きな違いは、アクセス先のサーバに「私はあなたの IP アドレスではなくて名前が○○だと思ってアクセスしていますよ」という情報を伝えることです。

このことから .Mac のホームページ用のサーバは実は iDisk 用のサーバと実体は同じで、HTTP 1.0 を使用して要求している側がサーバ名を伝えなければ .Mac のサーバは iDisk のサーバとして振る舞うのではないかと推測して HTTP 1.1 で試してみました。

$ telnet homepage.mac.com www
Trying 17.250.248.34...
Connected to homepage.mac.com.
Escape character is '^]'.
HEAD /yuji_okamura/iblog/DotMac/Tips/google07xxxxxxxxxxxx88.html HTTP/1.1
Host: homepage.mac.com

HTTP/1.1 200 OK
Date: Fri, 10 Mar 2006 07:38:52 GMT
Content-Length: 0
Content-Type: text/html
Cache-Control: public
x-responding-server: davhp11
Server: AppleDotMacServer
ETag: 14djc8on-1vap-10oqyhvrrb-2c9jm9zcoq0
Last-Modified: Thu, 17 Nov 2005 06:04:59 GMT
Via: 1.1 netcache02 (NetCache NetApp/5.5R6)

^]
telnet> quit
Connection closed.

どうやら当りだったようです。HTTP 1.1 を使用して「私はあなたを homepage.mac.com だと思ってアクセスしていますよ」という情報を伝えたら期待したとおりに応答してきました。

ということは Google Sitemap の「確認」では、HTTP 1.0 でリクエストがなされエラーが返っているのだと考えられます。これは、Google か .Mac が振る舞いを変更しない限り次の結果をもたらすことになります。

  • 新規サイトを Google Sitemap へ登録しても「確認」できない。
  • 既に Google Sitemap へ登録してあっても一度「未確認」になると回復できない。

そして .Mac のサイトはちょくちょく瞬間的に不安定な状態になるので時間の経過とともに既に Google Sitemap に登録してあるサイト全てが「未確認」になって回復できなくなってしまうでしょう。


Posted: 17:22    | Comment | Trackback


以下、類似エントリです。