URL ハッシュがサーバーにアクセスできないのはなぜですか?
Web 開発では、URL のコンポーネントを理解することが重要です。そのようなコンポーネントの 1 つであるハッシュ部分は、サーバー側での可用性についてよく疑問を引き起こします。
ハッシュ部分とは何ですか?
ブラウザのアドレス バーで、クエリ文字列の後に「#」で始まるテキストがあることに気づくかもしれません。これはハッシュ部分として知られています。たとえば、「http://www.foo.com/page.php?parameter=kickme#MOREURL」では、ハッシュ部分は「#MOREURL」です。
サーバー側の可用性
一般に信じられていることに反して、ハッシュ部分はサーバー側では利用できません。これは、サーバーを介さずにブラウザーが単独で処理するためです。リソースをリクエストするとき、ブラウザは URL 全体をサーバーに送信しますが、ハッシュ部分は除外されます。
アクセスできない理由
この動作は意図的であり、準拠しています。 HTML標準に準拠します。ハッシュ部分により、ページ内でのクライアント側のナビゲーションが可能になります。これにより、ユーザーはサーバーに新しいリソースを要求せずに、Web ページ内の特定のセクションや要素にリンクできるようになります。
Wikipedia によると、「フラグメント識別子の機能は、URI の残りの部分とは異なります。つまり、その処理はサーバーからの参加はなく、クライアント側のみで行われます。」これは、サーバー側の操作に影響を与えないように、サーバーがハッシュ部分を意図的に認識しないことを意味します。
影響
このアクセス不能は、Web 開発に影響を及ぼします。サーバー側のコードでハッシュ部分をキャプチャまたは利用する必要がある場合は、jQuery AJAX などのクライアント側のテクノロジを使用してブラウザから直接ハッシュ部分を取得する必要があります。
以上が私のサーバーが URL ハッシュを認識できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。