Ce n'est pas possible que les clients n'envoient pas la « partie d'ancrage » au serveur
À titre d'exemple, voici la demande exacte que Chrome générée après avoir soumis http://example.com/#foobar
(enreg en utilisant Wireshark):
GET/HTTP/1.1
Host: example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.3 (KHTML, like Gecko) Chrome/4.0.223.11 Safari/532.3
Cache-Control: max-age=0
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
If-None-Match: "b300b4-1b6-4059a80bfd280"
If-Modified-Since: Tue, 15 Nov 2005 13:24:10 GMT
Voir, pas #foobar. Il n'y a donc aucun moyen qu'une application serveur puisse le lire.
Vous pourriez faire un peu de magie JavaScript pour stocker l'ancre dans un cookie ou dans un champ de saisie caché ou quelque chose de vaudou dans lequel vous êtes. Mais il ne fonctionnera jamais pour les demandes qui ne proviennent pas de vos propres sites. Il est plus simple de créer tout ce dont vous avez besoin sur la partie serveur de la chaîne de requête et d'utiliser l'ancre uniquement pour les tâches JavaScript uniquement - ou de l'utiliser pour naviguer dans un document HTML simple - mais cela fait 90s;).
est ici la partie importante de la RFC 1808 mentionné:
Notez que l'identifiant de fragment (et le « # » qui le précède) est partie pas considéré de l'URL. Cependant, comme il est couramment utilisé dans le même contexte de chaîne en tant qu'URL, un analyseur doit pouvoir reconnaître le fragment lorsqu'il est présent et le mettre de côté dans le cadre du processus d'analyse syntaxique .
Voici une question similaire pour PHP, avec des réponses également mises à jour: http://stackoverflow.com/questions/1032242/how-to-obtain-anchor-part-of-url-after-in-php –