Pourquoi le hachage d'URL n'est-il pas accessible au serveur ?
Dans le développement Web, comprendre les composants d'une URL est crucial. L'un de ces composants, la partie hachage, soulève souvent des questions quant à sa disponibilité côté serveur.
Qu'est-ce que la partie hachage ?
Lorsque vous saisissez une URL dans votre Dans la barre d'adresse du navigateur, vous remarquerez peut-être un texte commençant par « # » après la chaîne de requête. C'est ce qu'on appelle la partie hachage. Par exemple, dans « http://www.foo.com/page.php?parameter=kickme#MOREURL », la partie de hachage est « #MOREURL ».
Disponibilité côté serveur
Contrairement aux idées reçues, la partie hash n'est pas disponible côté serveur. En effet, le navigateur le gère uniquement sans impliquer le serveur. Lors de la demande d'une ressource, le navigateur envoie l'intégralité de l'URL au serveur, mais il exclut la partie de hachage.
Pourquoi ce n'est pas accessible
Ce comportement est intentionnel et conforme au standard HTML. La partie hachage permet la navigation côté client dans une page. Il permet aux utilisateurs de créer des liens vers des sections ou des éléments spécifiques au sein d'une page Web sans demander une nouvelle ressource au serveur.
Selon Wikipédia, « L'identifiant de fragment fonctionne différemment du reste de l'URI : à savoir, son traitement est exclusivement côté client sans participation du serveur." Cela signifie que le serveur ignore intentionnellement la partie hachage pour l'empêcher d'influencer les opérations côté serveur.
Implications
Cette inaccessibilité a des implications pour le développement Web. Si vous devez capturer ou utiliser la partie de hachage dans votre code côté serveur, vous devez utiliser des technologies côté client telles que jQuery AJAX pour la récupérer directement depuis le navigateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!