2013-03-06 25 views
17

Có quy ước hay lời khuyên thực hành tốt nhất về thời điểm sử dụng thông số băm, thông số url, so với đường dẫn không?Thông số băm so với thông số url, khi nào sử dụng?

Ví dụ:

  • params băm: stackoverflow.com/questions#q=13630937 & t = hash-params-vs-url-params
  • params url: stackoverflow.com/questions?q = 13630937 & t = hash-params-vs-url-params
  • đường url: stackoverflow.com/questions/13630937/hash-params-vs-url-params

có an ninh, seo, khả năng sử dụng ben trang phục hay bất lợi của mỗi hoặc là một vấn đề về phong cách?

Trả lời

21

Thông số băm rất hữu ích cho các ứng dụng javascript trang đơn, nó cho phép javascript hiển thị cho người dùng một url có thể chia sẻ cho trạng thái của ứng dụng. Điều này được ưa thích bởi vì nếu bạn có một ứng dụng javascript trang đơn và người dùng điều hướng và tải thêm nội dung qua ajax và chia sẻ url, mà không có băm hoặc sửa đổi trạng thái đẩy người nhận nội dung sẽ nhận được trang chủ hoặc trạng thái bắt đầu. Các tham số băm có thể được sửa đổi dễ dàng và được đọc bởi javascript mà không cần tải lại trang.

Thông số băm thường chỉ được sử dụng ở phía máy khách, thông số băm sẽ không được chuyển đến máy chủ ... vì vậy chúng chỉ hữu ích cho việc tham số hóa cho máy khách.

/users#!/13 

sẽ tải các trang chỉ mục người dùng và sau đó javascript có thể đọc được các hash

window.location.hash và vượt qua nó thông qua một số loại router của phía khách hàng và thực hiện một yêu cầu ajax thích hợp và có thể tải người sử dụng chương trình mẫu và push nó đến dom.

Thông số url và đường dẫn url có thể hoán đổi cho nhau. Mọi người thường sử dụng đường dẫn url để mô tả các tài nguyên an toàn như

/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, làm tốt điểm từ quan điểm SEO. Các url được rút gọn hoặc "URL Params" được các trình thu thập thông tin lập chỉ mục và có xu hướng xếp hạng cao hơn.

Đối với params không phù hợp trong một lộ trình tháo vát, chúng tôi gửi cho họ như params

/users?sort=user_name&order=asc 
+1

đường dẫn và chuỗi truy vấn (URL params) không được hoán đổi từ điểm nhìn SEO –

+0

@WalterTross nếu bạn sẽ sẵn sàng để thêm một câu trả lời khác với một lời giải thích kỹ lưỡng hơn về sự khác biệt giữa đường dẫn và tham số chuỗi truy vấn WRT SEO, điều đó có thể hữu ích. –

Các vấn đề liên quan