URL ハッシュ フラグメント: サーバー側で使用できません
URL に追加されるハッシュ フラグメント (#) は、ページ内の特定の場所を示します。ただし、通常、この情報はサーバー上では入手できません。
URL: 「http://www.foo.com/page.php?parameter=kickme#MOREURL」を検討してください。サーバーは「http://www.foo.com/page.php?parameter=kickme」のみを処理し、ハッシュ部分「#MOREURL」はサーバー側では使用できません。
サーバーにアクセスできない理由
ハッシュ フラグメントは、ブラウザーのみで処理されるように特別に設計されています。これはクライアント側のナビゲーションを目的としており、ユーザーがページ内の特定のセクションにジャンプできるようにします。ブラウザが URL をリクエストすると、非ハッシュ部分のみがサーバーに送信され、ハッシュ フラグメントはクライアント側で排他的に処理されます。
説明と意味
HTML 標準に従って、ハッシュ フラグメントはサーバーに渡されません。これは、Internet Explorer やその他の最新のブラウザを含むすべてのブラウザに適用されます。したがって、PHP などのサーバー側テクノロジはハッシュ フラグメントにアクセスできません。
Wikipedia は明確な定義を提供しています。「フラグメント識別子の機能は、URI の残りの部分とは異なります。つまり、その処理はもっぱらクライアント側で行われ、何も行われません。サーバーからの参加。」ブラウザは、ページを適切なアンカー要素まで下にスクロールするか、他のクライアントベースのアクションを実行することによって、ハッシュ フラグメントを処理します。
注:
を認識することが重要です。ハッシュ フラグメントは、ナビゲーションやページの操作にクライアント側の機能に依存する多くの Web アプリケーションにとって不可欠であるということです。クライアント側でのハッシュ フラグメントの排他的な処理がなければ、これらのアプリケーションは意図したとおりに機能しません。
以上がサーバー上の URL ハッシュ フラグメントにアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。