解説
410 Goneは404と何が違う?ページがなくなった応答を読み分けよう
ブックマークから開いたページに、410 Goneと出た。404と同じように見えても、サーバーが伝えようとしている情報は少し違うよ。

ブックマークから開いたページに、410 Goneと出た。404と同じように見えても、サーバーが伝えようとしている情報は少し違うよ。
このページではHTTPの410を、架空の公開終了ページで考える。自分のサイトの設定や、実際の検索結果を変更する練習は行わない。番号と説明を読み分けられることが目標だよ。
410は、利用できなくなった対象を表す
HTTPは、ブラウザなどの要求に対し、サーバーが番号や本文を返す仕組み。410 Goneは、その対象へのアクセスが利用できなくなり、その状態が恒久的である可能性が高いことを示す。
404 Not Foundは、対象が見つからないことを示すけれど、それだけで一時的か恒久的かまでは明らかにしない。サーバーが恒久的な終了を知らない場合などは、404が使われることもあるよ。
架空の例で比べる
| 例 | 応答の考え方 |
|---|---|
| 入力したURLに、対象が見つからない | 404の例 |
| 運営側が、提供終了した対象だと把握している | 410を検討する例 |
| 新しい場所へ移転し、対応する内容がある | リダイレクトを検討する例 |
どの番号を返すかは、実装や運営方針にも関わる。410という番号だけから、終了の具体的な理由や、別のURLがないことまで断定しないようにしよう。
利用する人が確認すること
- URLの入力や、リンク先の文字を確かめる。
- 画面にある提供終了日や移転案内を読む。
- 公式サイトのトップや正規の検索から、代わりの案内を探す。
- 重要な手続きなら、運営の正式な窓口へ確認する。
- 同じ操作を何度も送らず、必要な記録を残す。
古いページを開けないからといって、別の不明なサイトへ認証情報を入力する必要はないよ。保存したURLが正規のものかも確認したいね。
編集部のローカル確認
編集部では、練習用のサーバーで、/removedに410、/unknownに404を返す実装を作って確認した。どちらも説明文を表示できる一方、応答番号は別であることを照合した。
HTTP/1.1 410 Gone
Content-Type: text/plain; charset=utf-8
これは練習用の応答例。公開サイトや検索エンジンの処理を実験した結果ではないよ。
運営側は、本文と番号をそろえる
「公開を終了しました」と画面に書いても、HTTPで200を返し続ければ、同じ情報にはならない。運営側は、説明文と実際の応答を両方確認しよう。
代わりのページがある場合も、関係のないトップへ一律に転送すればよいわけではない。古いリンクを修正し、移転や終了の意図が読者へ伝わる方法を考えよう。検索結果の更新は、その番号を設定した瞬間に保証されるものではないよ。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。