2010-07-02 33 views
5

Tôi vừa tình cờ gặp phải tính năng websockets trong HTML 5, here. Thoạt nhìn, có vẻ như một khi Firefox và IE có được trên tàu với ajax spec có thể dư thừa. Câu hỏi của tôi là, theo ý kiến ​​của bạn sẽ ajax (sử dụng jquery $ .ajax() hoặc thậm chí với XMLHttpRequest thẳng/khác) được thay thế bằng giao thức ws: // mới này?Các websockets trong HTML 5 có thay thế ajax để làm mới một phần trang không?

Nếu có, khi nào chúng ta nên bắt đầu thay đổi phương pháp phát triển của mình?

Trả lời

5

Địa chỉ websockets cần một nhu cầu khác với XMLHTTPRequests. Sau đó là tên của nó nói: một yêu cầu: Bạn biết rằng bạn cần một cái gì đó (tức là bởi vì người dùng nhấp vào một liên kết, cuộn hoặc bất cứ điều gì) và bạn lấy nó - và XHR làm một công việc tốt làm việc đó.

Sự cố bắt đầu khi một số sự kiện nhất định có thể được kích hoạt trên máy chủ được cho là được đẩy tới máy khách trong thời gian thực. Điều duy nhất mà bạn có thể làm ngay bây giờ là thăm dò ý kiến ​​máy chủ một cách thường xuyên - đó là một hack đi kèm với một tập hợp các vấn đề. Và đây chính là vấn đề mà Websockets được tạo ra để: Cung cấp một backchannel cho trình duyệt cho các thông báo thời gian thực.

Tôi nghĩ rằng Web Xockets Ajax XOR là loại phân đôi giả. Họ giải quyết các nhu cầu khác nhau và có thể cùng tồn tại một cách hòa bình.

0

Khi trình duyệt bắt đầu triển khai ổ cắm web.

+0

dường như Safari và Chrome đã làm ... – Tahbaza

0

Tôi hơi hoài nghi. Tất cả các trình duyệt chính bắt đầu hỗ trợ ajax vào năm 1999, và nó trở nên phổ biến ở đâu đó vào khoảng năm 2005, sau sự ra mắt của gmail. Và chúng tôi thậm chí chưa đạt đến điểm đó, nơi mà các trình duyệt chính hỗ trợ websockets (thêm một vài năm nữa).

Có một lý do đơn giản đằng sau sự chậm trễ đó trong việc áp dụng ajax: cần cho các trang web để hỗ trợ các phiên bản trình duyệt cũ hơn. (Hãy nhớ rằng có bao nhiêu người vẫn sử dụng IE 6 & 7?)

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