Warum ist der URL-Hash für den Server nicht zugänglich?
Bei der Webentwicklung ist das Verständnis der Komponenten einer URL von entscheidender Bedeutung. Eine solche Komponente, der Hash-Teil, wirft häufig Fragen zu seiner Verfügbarkeit auf der Serverseite auf.
Was ist der Hash-Teil?
Wenn Sie eine URL in Ihr eingeben Wenn Sie in der Adressleiste des Browsers nach der Abfragezeichenfolge suchen, bemerken Sie möglicherweise Text, der mit „#“ beginnt. Dies wird als Hash-Teil bezeichnet. Beispielsweise ist in „http://www.foo.com/page.php?parameter=kickme#MOREURL“ der Hash-Teil „#MOREURL“.
Verfügbarkeit auf der Serverseite
Entgegen der landläufigen Meinung ist der Hash-Teil serverseitig nicht verfügbar. Dies liegt daran, dass der Browser dies ausschließlich ohne Einbindung des Servers erledigt. Beim Anfordern einer Ressource sendet der Browser die gesamte URL an den Server, schließt jedoch den Hash-Teil aus.
Warum es nicht zugänglich ist
Dieses Verhalten ist beabsichtigt und konform an den HTML-Standard angepasst. Der Hash-Teil ermöglicht die clientseitige Navigation innerhalb einer Seite. Es ermöglicht Benutzern, auf bestimmte Abschnitte oder Elemente innerhalb einer Webseite zu verlinken, ohne eine neue Ressource vom Server anzufordern.
Laut Wikipedia „funktioniert der Fragmentbezeichner anders als der Rest des URI: nämlich seine Verarbeitung.“ ausschließlich clientseitig ohne Beteiligung des Servers.“ Dies bedeutet, dass der Server den Hash-Teil absichtlich nicht kennt, um zu verhindern, dass er serverseitige Vorgänge beeinflusst.
Auswirkungen
Diese Unzugänglichkeit hat Auswirkungen auf die Webentwicklung. Wenn Sie den Hash-Teil in Ihrem serverseitigen Code erfassen oder nutzen müssen, müssen Sie clientseitige Technologien wie jQuery AJAX verwenden, um ihn direkt aus dem Browser abzurufen.
Das obige ist der detaillierte Inhalt vonWarum kann mein Server den URL-Hash nicht sehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!