ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

404 Not Foundになった理由

ブラウザのキャプチャを見たら原因がわかりました。

f:id:AJYA:20150609053446j:plain
photo credit: EᴚROR 264/365 via photopin (license)

Not Foundが発生

お客さんの社内のユーザーが、新たにWebシステムを利用しようとしたら、Not Foundが発生したと連絡がありました。
Webシステムに接続できていないのではないか?ともメールに書かれていました。

Not Foundが表示されたのなら、なんらかのWebサーバーには接続できているはずです。
存在しないファイルを指定してNot Foundを発生させたブラウザの画面キャプチャをメールで送って、同じようにお客さんの社内ユーザーの画面キャプチャを送ってもらうことにしました。

見えない文字がついている

お客さんの社内ユーザーのブラウザの画面キャプチャが届いたので見ると

<span style="font-size: 200%">Not Found</span>

The requested URL /ã‹ã‚‰ was not found on this server.

Apache/2.X.XX PHP/5.X.X Server at www.exmaple.com Port 80

という感じで表示されていました。

最後に表示されている、エラーを表示したサーバーのドメイン名は、利用したいWebサーバーと一致していたので、接続はできています。
The requested URL の後が文字化けのようなになっているので、ブラウザのURL入力欄の「/」の後になんらかの文字が入っているようです。
画面キャプチャを見る限りは、ブラウザのURL入力欄には、「/」の後に文字は入力されていないようでした。

メールシステムが原因と推測

なぜこんなことが起きたのかヒントがないかと、画面キャプチャを改めて確認しました。
画面キャプチャは、ブラウザ全体をキャプチャされていたので、他のタブもタイトルだけはわかりました。
見ていると、Web上で利用できるメールシステムのタブもひらかれているようでした。

そこから、メールでWebシステムのURLが連絡されて、メールシステム上でURLをクリックすると、「/」までではなく、その後に書かれていた文字もURLとして扱われたために、ブラウザではNot Foundになったのではないかと推測しました。

文字を消してもらう

一見すると「/」の後に文字はないようですが、文字があるはずなので、「/」まで文字を消してから再度試してもらうように連絡すると、無事に利用できたとのことでした。


画面キャプチャが送ってもらえたので、Webシステムの問題ではないことが即座に把握でき、原因も推測できました。