「#」文字で示される URL のハッシュ フラグメントは、クライアントの内部でのみ対話を容易にするように設計されています。ブラウザ。他の URL コンポーネントとは異なり、サーバーはその存在を認識しません。このトピックをさらに深く掘り下げるために、シナリオを考えてみましょう:
次の URL を持つ Web サイトに移動すると想像してください:
http://www.foo.com/page.php?parameter=kickme#MOREURL
サーバーに到達すると、「#MOREURL」フラグメントが存在しないことに気づくかもしれません。これは、ハッシュ部分がサーバーへの移動を開始しないためです。これは、HTML 標準で定められた仕様に従って、ブラウザによって厳密に処理されます。
サーバーがハッシュ処理から除外される理由は単純です。主な責任は、要求されたリソースを提供することにあります。一方、ハッシュ フラグメントは、特定のページ要素へのスクロールなど、クライアント側の動作を制御します。この区別により、サーバーはコンテンツの配信に集中し、ブラウザはハッシュ フラグメントのディレクティブの解釈を担当します。
jQuery AJAX に頼らずにハッシュ フラグメントをサーバーに送信する場合、答えははっきりと「ノー」です。ブラウザのドメイン内でのハッシュ フラグメントの排他的テナントは、PHP などのサーバー側テクノロジからアクセスできないことを意味します。
要約すると、URL のハッシュ部分はブラウザのドメイン内に厳密に残ります。ドメイン。サーバーはその存在を知りません。サーバーはその処理能力から除外されます。ハッシュ フラグメントの利点を効果的に活用するには、この基本的な責任の分離を理解することが重要です。
以上がサーバーが URL ハッシュ フラグメントを認識できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。