2013-03-06 27 views
17

Czy istnieje konwencja lub porady dotyczące najlepszych praktyk dotyczących używania parametrów mieszania, parametrów adresu URL i ścieżek?Hash params vs parametry url, kiedy użyć?

Na przykład:

  • mieszania params: stackoverflow.com/questions#q=13630937 & t = mieszającą params VS URL-params
  • URL params: stackoverflow.com/questions?q = 13630937 & t = hash-params-vs-url-params
  • ścieżka url: stackoverflow.com/questions/13630937/hash-params-vs-url-params

Czy istnieją zabezpieczenia, SEO, użyteczność Ben zalety lub wady każdego z nich lub jest kwestia stylu?

Odpowiedz

21

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 
+1

ścieżka i znaków zapytania (URL params) nie są wymienne z punktu widzenia SEO –

+0

@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. –