33 votes

Pourquoi Twitter utilise-t-il un hachage et un point d'exclamation dans les URL et comment réécrit-il les URL de recherche?

Nous comprenons la valeur de hachage est pour AJAX recherches, mais le point d'exclamation? Tout le monde sait?

Aussi, l'attribut "action" pour leur formulaire de recherche de points d' "/search", mais lorsque vous effectuez une recherche, le hash point d'exclamation s'affiche dans l'URL. Sont-ils simplement la redirection à partir de "/" recherche "d'/#!/la recherche"?

Remarque: la deuxième partie de la session de questions reste sans réponse: Qui sont-ils de rediriger l'utilisateur à partir de "/" recherche "d'/#!/la recherche", ou le font-ils envoyer à l'utilisateur de "/" recherche et à l'utilisation de JS sur la page de réécrire l'URL? – Crashalot 26 Jan à 23:51

Merci!

31voto

meder Points 81864

C'est devenu la norme de facto établie par Google pour assurer la cohérence et rendre les URL ajax exploitables.

Voir http://code.google.com/web/ajaxcrawling/docs/getting-started.html.

Je crois qu'ils utilisent history.pushState . Vous pouvez faire history.back() dans la console et cela vous ramènera à la page.

23voto

tester Points 196

Oui, il redirige avec HTTP 302.

Au fait, "!" est utilisé pour éliminer le cas avec un hash vide. "http: // url #" fera un navigateur pour glisser vers le haut.

10voto

BritishDeveloper Points 4280

Pour répondre à la deuxième partie: Il est vous allez être redirigé vers /#!/de recherche.

Si vous regardez les en-têtes de réponse lorsque vous allez à la http://twitter.com/britishdev (fiche) vous êtes retourné un 302 (redirection temporaire) avec l'Emplacement de l'en-tête défini comme "Lieu: http://twitter.com/#!/britishdev"

Oui JavaScript est puis en tirant tous vos détails sur la page de destination, mais peu importe qui est l'endroit où vous êtes redirigé vers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X