為什麼伺服器無法存取 URL 雜湊?
在 Web 開發中,理解 URL 的組成部分至關重要。哈希部分就是這樣一個元件,經常會引發有關其在伺服器端可用性的問題。
什麼是雜湊部分?
當您在瀏覽器的網址列中,您可能會注意到查詢字串後面以「#」開頭的文字。這稱為哈希部分。例如,在“http://www.foo.com/page.php?parameter=kickme#MOREURL”中,哈希部分是“#MOREURL”。
伺服器端的可用性
與普遍看法相反,雜湊部分在伺服器端不可用。這是因為瀏覽器單獨處理它,而不涉及伺服器。請求資源時,瀏覽器會將整個 URL 傳送到伺服器,但不包括哈希部分。
為什麼無法存取
此行為是有意的且符合符合 HTML 標準。哈希部分允許在頁面內進行客戶端導航。它使用戶能夠連結到網頁中的特定部分或元素,而無需從伺服器請求新資源。
根據維基百科,「片段標識符的功能與URI 的其餘部分不同:即,它的處理是完全是客戶端,沒有伺服器的參與。」這意味著伺服器故意不知道雜湊部分,以防止其影響伺服器端操作。
影響
這種不可訪問性對 Web 開發有影響。如果您需要在伺服器端程式碼中擷取或利用雜湊部分,則必須使用 jQuery AJAX 等用戶端技術直接從瀏覽器中檢索它。
以上是為什麼我的伺服器看不到 URL 哈希?的詳細內容。更多資訊請關注PHP中文網其他相關文章!