2010-07-02 47 views
5

我剛剛發現了HTML 5中的websockets功能,here。乍一看,似乎一旦Firefox和IE加入規範Ajax可能是多餘的。我的問題是,在你看來,ajax(使用jquery $ .ajax(),甚至是直接的XMLHttpRequest/other)會被這個新的ws://協議所取代嗎?HTML 5中的websockets會替換ajax以進行部分頁面刷新嗎?

如果是這樣,我們應該什麼時候開始改變我們的開發方法?

回答

5

Websockets解決與XMLHTTPRequests不同的需求。後者的名字就是這麼說的:一個請求:你知道你需要一些東西(例如,因爲用戶點擊了一個鏈接,滾動或者其他任何東西),然後你檢索它 - 而XHR做得很好。

當某些事件可以在服務器端觸發某些事件並且實時推送到客戶端時,會出現故障。你現在唯一能做的就是定期輪詢服務器 - 這是一個帶有一系列問題的黑客攻擊。這恰恰是Websockets所面臨的問題:爲瀏覽器提供實時通知的反向通道。

我認爲Ajax XOR Websockets是一種虛假的二分法。他們處理不同的需求,可以和平共處。

0

當瀏覽器開始實現web套接字時。

+0

顯然Safari和Chrome已經做到了... – Tahbaza 2010-07-02 04:12:25

0

我有點懷疑。所有主流瀏覽器在1999年開始支持ajax,並且在推出gmail之後,它在2005年左右的某個地方大受歡迎。而且,我們還沒有達到這一點,主要瀏覽器支持websockets(再增加幾年)。

有一個簡單的原因背後,延遲ajax採用:需要網站來支持舊瀏覽器版本。 (請記住,有多少人仍然使用IE 6 & 7?)