Hasła są użyteczne w aplikacjach javascript dla jednej strony, pozwalają javascriptowi na przedstawienie użytkownikowi udostępnionego adresu URL dla stanu aplikacji. Jest to preferowane, ponieważ jeśli masz jedną stronę aplikacji javascript i użytkownicy nawigują i ładują więcej treści przez ajax i udostępniają adres URL, bez zmiany hash lub stanu push, osoba otrzymująca zawartość otrzyma stronę główną lub stan początkowy. Parametry skrótu mogą być łatwo modyfikowane i czytane przez javascript bez ponownego ładowania strony.
Parametry skrótu są zwykle używane tylko po stronie klienta, a parametry mieszania nie będą przekazywane do serwera ... dlatego są przydatne tylko do parametryzowania klienta.
/users#!/13
byłoby załadować stronę indeksu użytkownika, a następnie javascript mógł odczytać hash
window.location.hash
i przekazać go przez jakiegoś routera po stronie klienta i dokonać odpowiedniego żądania ajax i ewentualnie załadować szablon pokazu użytkownik i pchania do domu.
Parametry adresu URL i ścieżka URL są nieco zamienne. Ludzie zwykle używają ścieżkę URL do opisywania spokojny zasobów, takich jak
/users/[:id] => /users/13 => /users?id=13
/users/:id/posts => /users/13/posts
/users/:user_id/posts/:id => /users/13/posts/22
etc......
@Walter Tross, to dobry punkt, z punktu widzenia SEO. Slugged URL lub "URL Params" są bardziej indeksowalne przez roboty i mają tendencję do wyższego poziomu.
dla parametrów, które nie mieszczą się w zaradny trasie możemy wysłać je jako params
/users?sort=user_name&order=asc
ścieżka i znaków zapytania (URL params) nie są wymienne z punktu widzenia SEO –
@WalterTross jeśli byłbyś skłonny aby dodać inną odpowiedź z nieco dokładniejszym wyjaśnieniem różnicy między parami ścieżek i parametrów zapytania WRT SEO, które mogą być pomocne. –