HTTP协议的瓶颈
影响HTTP网络请求的因素:
带宽
延迟
HTTP协议的瓶颈:
- 一条连接上只可发送一个请求
- 请求只能从客户端开始。客户端不可以接受除响应以外的指令
- 请求/响应头部不经压缩就发送
- 每次互相发送相同的头部造成的浪费很多
- 非强制压缩发送
WebSocket与HTTP
非持久化的HTTP :
WebSocket的握手:
服务器返回:
AJAX轮询:
每隔一段时间就会重新发起请求去询问服务器,有没有新消息
Long Poll轮询:
采用阻塞轮询,当向服务器发起请求后,如若没有新消息就一直保持连接,直到有了新消息才断开,以此循环
WebSocket回调:
只需一次连接,当服务器有了新消息后直接通知,反馈给客户端
WebSocket:
WebSocket的特点:
- 真正的双全工方式
- 减少通信量
SPDY:
目的:加强HTTP
HTTP的缺陷:
- 单路连接,请求低效
- HTTP只允许由客户端主动发起请求
- HTTP头部冗余
SPDY的改进:
- 多路复用,请求优化
- 支持服务器推送技术
-
SPDY压缩了HTTP头
-
强制使用SSL传输协议
SPDY的意义:
- 对于普通用户来说:网页刷新访问的速度变快了,尤其对于那些从来没有访问过的网站;网站信息加密传输后,大大增加了安全性和保密性
- 对于前端人员来说:可以将请求顺序重现编排,这样可以在很大程度上减轻在加载页面时逐步请求带来的影响
- 对于运维人员来说:降低了连接数目的同时,还使得服务器上每个客户端占用的资源也减少了,从而可以释放更多的内存和CPU;可以将浏览速度提升一倍