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中文網其他相關文章!