上一篇文章介紹了ajax技術(shù)核心方法,和跨域的問題(只要后臺(tái)支持跨域默認(rèn)post就可以),這篇文章講解一下使用ajax實(shí)現(xiàn)的輪詢技術(shù),至于iframe,SSE服務(wù)器單向推送,以及webSocket雙工通道暫時(shí)不涉及。
一些概念:
短輪詢:瀏覽器通過循環(huán)或者setTimeout方法,每隔一段時(shí)間往后臺(tái)發(fā)送一次請求,無線循環(huán)
長輪詢:不停的向后臺(tái)請求數(shù)據(jù),但是后臺(tái)如果檢測不到數(shù)據(jù)變動(dòng),就會(huì)將這個(gè)請求掛掉。如果檢測到數(shù)據(jù)變動(dòng),就會(huì)響應(yīng)這個(gè)請求變動(dòng)數(shù)據(jù)
區(qū)別概念:
長連接:在進(jìn)行http數(shù)據(jù)傳輸?shù)臅r(shí)候,在數(shù)據(jù)傳輸層一直開著一個(gè)TCP通道,所有請求資源文件都是通過復(fù)用這個(gè)通道去請求數(shù)據(jù),有超時(shí)時(shí)間
短連接:如果http進(jìn)行的短連接,即每次瀏覽器發(fā)送請求,都會(huì)創(chuàng)建TCP通道,然后傳輸完成了再進(jìn)行銷毀,重復(fù)操作,消耗很大
主要區(qū)別:
http的長短輪詢,通過代碼層,向后臺(tái)請求數(shù)據(jù)。
Http的長短連接,實(shí)際上就是TCP協(xié)議傳輸層是否復(fù)