AJAXコンテンツをGoogleでクロール可能にする以外に、シバン/ハッシュバンの用途はありますか? それともそれですか?
1 に答える
URL で使用されるハッシュは、Ajax が発明されるずっと前から存在していました。
もともとは、ページ内のサブセクションへの参照として意図されていました。このコンテキストでは、たとえば、ページの上部に目次があり、それぞれが同じページのセクションへのハッシュ リンクになります。これらのリンクをクリックすると、関連するマーカーまでページがスクロールダウン (またはアップ) します。
ブラウザーがハッシュを含む URL を受信すると、ハッシュの前のアドレスの部分のみがページ要求としてサーバーに送信されます。ハッシュ部分はブラウザによって保持され、それ自体を処理し、ページを関連する位置にスクロールします。
これはハッシュ構文が元々意図していたものなので、これがあなたの質問に対する直接の答えです。しかし、少し続けて、そこから現在に至るまでの経緯を説明します...
Ajax が発明されたとき、人々は自分のサイトに 1 つのページを持ちながら、関連するコンテンツに直接アクセスするために外部からクリックできるリンクを保持する方法を探し始めました。
開発者は、JavaScript 内から URL のハッシュ値を読み取ることができるため、既存のハッシュ構文でこれを行うことができることにすぐに気付きました。あとは、ハッシュが表示されたときにスクロールを停止するだけです (これは簡単です)。URL の一部はブラウザによって事実上無視されますが、JavaScript によって読み書きできます。 ; Ajax での使用に最適です。Google が検索に URL のハッシュ部分を含めるという事実は、最初は幸運なボーナスにすぎませんでしたが、この手法がより広まるにつれて、非常に重要になりました。
人々はこのハッシュ構文を「シバン」または「ハッシュバン」と呼んでいますが、技術的にはそれは正しくありません。関連するのは単なるハッシュです。「hashbang」という単語の「bang」の部分は感嘆符を指します (「bang」は印刷業界の用語です)。一部の URL では実際にハッシュの後に感嘆符が追加される場合がありますが、ブラウザーに関連するのはハッシュのみです。その後の文字列は完全にサイトの作成者次第です。エクスクラメーション マークが含まれていてもいなくてもかまいませんが、どちらにしてもブラウザは何もしません。必要に応じてハッシュバンまたはシバンと呼んでもかまいませんが、重要なのはハッシュだけであることを理解してください。
実際の「シバン」または「ハッシュバン」という用語は、さらにさかのぼり、#!
構文を指しますが、URL のコンテキストではありません。
この用語の本来の意味は、これらの記号が Unix スクリプト ファイルの先頭で使用され、スクリプトがどのプログラミング言語で記述されているかをスクリプト プロセッサに伝えることでした。
したがって、これは確かにあなたの質問への回答であり、あなたの言い方ですが、URL とはまったく関係がないため、おそらくあなたが意図したものではありません。