Trong các URL web bao gồm Facebook, tôi thấy chuỗi / #! xuất hiện. công dụng của nó là gi?


7

Chuỗi #! Làm gì khi facebook dính nó vào URL của nó khi tôi truy cập? Tôi biết vai trò của dấu # trong chỉ ra vị trí neo trong trang. Nhưng cái gì là #! cho?

Câu trả lời:


8

Điều này sẽ khiến các trang của Google và bạn bè có thể thu thập dữ liệu:

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

http://googlewebmastercentral.blogspot.com/2009/10/proposed-for-making-ajax-crawlable.html

Giải pháp hoạt động như sau: trình thu thập thông tin tìm thấy một URL AJAX khá (nghĩa là một URL chứa một đoạn băm #!). Sau đó, nó yêu cầu nội dung cho URL này từ máy chủ của bạn ở dạng được sửa đổi một chút.

Máy chủ web của bạn trả về nội dung dưới dạng ảnh chụp nhanh HTML, sau đó được trình thu thập thông tin xử lý. Kết quả tìm kiếm sẽ hiển thị URL gốc.


Đúng, bây giờ đó là một câu trả lời. Cảm ơn nhiều. Vâng, làm thế nào bạn sẽ lập chỉ mục một trang thay đổi động ... thông tin thú vị. Cảm ơn
estephan500

1

Bài viết này giải thích cách nó hoạt động một cách dễ hiểu.

Mặt khác, khi tôi trỏ trình duyệt vào http://twitter.com/#!/timbray , đây là những gì xảy ra:

Trình duyệt tách địa chỉ đó ra, lưu lại phần sau # #, cụ thể là! / Timbray, cục bộ. Phần này về mặt kỹ thuật được gọi là bộ nhận dạng phân đoạn trên đường, nhưng hãy nói là hashbangbang.

Nó kết nối với twitter.com và gửi một truy vấn trống ít nhiều, bởi vì địa chỉ là tất cả hashbang.

Máy chủ không biết dòng tweet nào đang được yêu cầu vì thông tin đó có trong hashbang. Nhưng những gì nó gửi bao gồm một liên kết đến một đoạn JavaScript (có thể lớn và phức tạp).

Trình duyệt tìm nạp JavaScript và chạy mã đó.

JavaScript loại bỏ hashbang (! / Timbray, nhớ không?) Ra khỏi bộ nhớ trình duyệt và, dựa trên giá trị của nó, kéo xuống một loạt các bit và mảnh từ máy chủ và xây dựng một cái gì đó trông giống như dòng tweet của tôi.


1
Chào mừng bạn đến với Ứng dụng web! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Hãy xem bản chỉnh sửa từ @Sathya để biết ví dụ hay về câu trả lời. Cảm ơn
codbadger

1

Trên trang web, nó được gọi là hashbang . Trong môi trường Unix, nó được gọi là shebang .
Bài viết này cung cấp một mô tả chi tiết về các hậu quả phát sinh từ việc sử dụng hashbang trong URL, sử dụng thiết kế lại Lifehacker như một trường hợp nghiên cứu.

Vậy tại sao nên sử dụng hàm băm nếu đó là URL nhân tạo và URL cần được định dạng lại trước khi nó trỏ đến một URL thích hợp thực sự trả về nội dung?

Trong tất cả các lý do, người mạnh nhất là vì vì điều đó rất tuyệt. Tôi nói mạnh nhất không mạnh .

Danny Thorpe mô tả tác dụng phụ của nó trong này bài viết từ blog của mình.

Một tác dụng phụ khác của việc sử dụng các đoạn URL là các đoạn không xuất hiện trong lịch sử trình duyệt. Do các quy tắc tương đương URL bỏ qua các đoạn URL, nhiều URL chỉ khác nhau về đoạn sẽ chỉ xuất hiện dưới dạng một mục trong lịch sử trình duyệt. Điều này có ý nghĩa nếu bạn đang sử dụng các đoạn URL như dự định ban đầu - để tham chiếu các phần phụ cụ thể của cùng một trang cơ sở.


Mặc dù tôi không chắc chắn mình đồng ý với tất cả những người Davies chống lại LifeHacker, tôi sẽ đồng ý rằng việc xây dựng toàn bộ hệ thống nội dung chỉ dựa trên mẫu URL băm không có nội dung HTML tĩnh đáng tin cậy độc lập với JavaScript có lẽ không phải là cách sử dụng tốt nhất mẫu URL băm.

Ryan Grove, kỹ sư YUI tại Yahoo!, Không khuyên bạn nên sử dụng nó và giải thích lý do trả lời câu hỏi này trên Quora.

Không, URL hashbang không phải là một thực tiễn được đề xuất. Nhưng điều quan trọng là phải hoàn toàn rõ ràng về ý nghĩa của điều này, vì vậy hãy đọc tiếp.

và tổng hợp:

  1. URL "băm" và URL "hashbang" không giống nhau, mặc dù "hashbang" không may trở thành tên chung cho "URL băm kích hoạt logic dựa trên JavaScript".
  2. URL băm không bao giờ được gửi đến máy chủ, vì vậy chúng sẽ vô dụng nếu không có JavaScript nếu bạn phụ thuộc vào chúng để kích hoạt logic ứng dụng.
  3. Vì các URL băm yêu cầu JS, bạn chắc chắn sẽ phá vỡ tất cả các URL hiện có hoặc duy trì trình xử lý URL JS mãi mãi nếu bạn quyết định thay đổi lược đồ URL của mình.
  4. URL "Hashbang" không tự động làm cho trang của bạn được lập chỉ mục bởi các công cụ tìm kiếm. Bạn vẫn cần phải thực hiện nhiều công việc phía máy chủ để thực hiện điều đó.
  5. Ngay cả khi bạn hỗ trợ đầy đủ Lược đồ thu thập dữ liệu Google Ajax, điều đó chỉ giúp bạn với Google. Bạn vẫn còn say sưa với các công cụ tìm kiếm khác.

Kiểm tra câu hỏi này trên stackoverflow, là tốt.


1
"Ở đây, ở đây và ở đây" không cho chúng ta biết nhiều thứ hữu ích. Bạn có thể chỉnh sửa câu trả lời của mình để bao gồm ít nhất một bản tóm tắt về những điều mà mỗi người nói về và mức độ liên quan của nó không?
nheo


-2

Đây là một điểm neo cho đầu trang. Một số trang web có liên kết "trên cùng" tại một số điểm trong trang nhảy lên trên cùng. Liên kết trỏ đến "#"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.