首頁 >後端開發 >php教程 >為什麼伺服器無法存取 URL 的哈希部分?

為什麼伺服器無法存取 URL 的哈希部分?

Linda Hamilton
Linda Hamilton原創
2024-12-19 11:23:08575瀏覽

Why Can't Servers Access the Hash Part of a URL?

為什麼伺服器端無法存取URL的Hash部分?

在網路開發中,URL由幾個部分組成,包括協定、網域名稱、路徑和雜湊。哈希值由“#”符號表示,用於標識頁面的特定部分,例如標題或部分。

問題:

但是,據觀察,URL 的雜湊部分在伺服器端不可用。例如,如果使用者在瀏覽器網址列中輸入“http://www.foo.com/page.php?parameter=kickme#MOREURL”,伺服器不會收到“#MOREURL”部分。

答案:

是的,如果不使用外部工具,伺服器無法存取 URL 的雜湊部分。這是因為雜湊元件旨在僅由瀏覽器客戶端處理。伺服器永遠不會將其作為 HTTP 請求的一部分接收。

說明:

根據 HTML 標準,雜湊片段不會傳送到伺服器。瀏覽器解釋它並可以以各種方式處理它,例如滾動到頁面上的特定位置。這種行為在不同的瀏覽器和伺服器端技術(例如 PHP)中是一致的。

維基百科提供了進一步的說明:

「片段標識符的功能與URI 的其餘部分不同:即,它的處理是獨佔客戶端,沒有伺服器參與當代理(例如Web 瀏覽器)從Web 伺服器要求資源時,代理程式會將URI 傳送到伺服器,但不會傳送片段。

以上是為什麼伺服器無法存取 URL 的哈希部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn