Pourquoi la partie hachage de l'URL n'est-elle pas accessible côté serveur ?
Dans le développement Web, l'URL se compose de plusieurs composants, y compris le protocole, le nom de domaine, le chemin et le hachage. Le hachage, désigné par le symbole « # », est utilisé pour identifier une partie spécifique de la page, comme un titre ou une section.
Question :
Cependant , il a été observé que la partie hachage de l'URL n'est pas disponible côté serveur. Par exemple, si un utilisateur tape « http://www.foo.com/page.php?parameter=kickme#MOREURL » dans la barre d'adresse de son navigateur, le serveur ne reçoit pas la partie « #MOREURL ».
Réponse :
Oui, la partie de hachage de l'URL n'est pas accessible au serveur sans utiliser d'outils externes. En effet, le composant de hachage est destiné à être traité uniquement par le client du navigateur. Le serveur ne le reçoit jamais dans le cadre de la requête HTTP.
Explication :
Selon la norme HTML, le fragment de hachage n'est pas envoyé au serveur. Le navigateur l'interprète et peut le gérer de différentes manières, par exemple en faisant défiler vers un emplacement spécifique de la page. Ce comportement est cohérent dans différents navigateurs et technologies côté serveur comme PHP.
Wikipédia apporte des précisions supplémentaires :
"L'identifiant de fragment fonctionne différemment du reste de l'URI : à savoir, son traitement est exclusivement côté client sans participation du serveur. Lorsqu'un agent (tel qu'un navigateur Web) demande une ressource à un serveur Web, l'agent envoie l'URI au serveur, mais n'envoie pas le fragment. attend que le serveur envoie la ressource, puis l'agent traite la ressource en fonction de la valeur du fragment."
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!