HTTP协议分析系列(十)------HTTP协议+分块传输+持久链接+反向ajax+服务器推技术
2017-01-22 15:58
417 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。
反向ajax又叫comet,server push,服务器推技术。
应用范围:网页聊天室,新浪,google mail 网页聊天,都有用到
原理:一般而言,HTTP协议的特点,连接<->断开
具体什么时间断开?
服务器响应content-length收到的指定length长度的内容时,也就就断开了
在http1.1协议中,允许你不写content-length,比如要发送的内容长度不知道时。
这时需要一个特殊的content-type:chunked
123H\r\n
123H个长度的内容传输给客户端....
....
41H\r\n
浏览器继续接受41H长度的内容,\r\n
0\r\n(服务器说内容发完了)
[php]
view plain
copy
<?php
set_time_limit(0);
ob_start();
$pad=str_repeat(' ',4000);
echo $pad.'<br/>';
ob_flush();
flush();//把产生的垃圾立即送给浏览器页面而不要等脚本结束再一起送
$i=1;
while($i++){
echo $pad.'<br/>';
echo $i.'<br/>';
ob_flush();
flush();//把产生的垃圾立即送给浏览器页面而不要等脚本结束再一起送
sleep(1);
}
/*
* 思考:如果while循环中,不是1,2,3。。。
* 而是数据库中记录呢?
* 而是2人的聊天记录呢?
* 这样就达到,即时通信。
* 服务器端--不间断--推送信息--->到客户端
*
* */
?>
反向ajax又叫comet,server push,服务器推技术。
应用范围:网页聊天室,新浪,google mail 网页聊天,都有用到
原理:一般而言,HTTP协议的特点,连接<->断开
具体什么时间断开?
服务器响应content-length收到的指定length长度的内容时,也就就断开了
在http1.1协议中,允许你不写content-length,比如要发送的内容长度不知道时。
这时需要一个特殊的content-type:chunked
123H\r\n
123H个长度的内容传输给客户端....
....
41H\r\n
浏览器继续接受41H长度的内容,\r\n
0\r\n(服务器说内容发完了)
[php]
view plain
copy
<?php
set_time_limit(0);
ob_start();
$pad=str_repeat(' ',4000);
echo $pad.'<br/>';
ob_flush();
flush();//把产生的垃圾立即送给浏览器页面而不要等脚本结束再一起送
$i=1;
while($i++){
echo $pad.'<br/>';
echo $i.'<br/>';
ob_flush();
flush();//把产生的垃圾立即送给浏览器页面而不要等脚本结束再一起送
sleep(1);
}
/*
* 思考:如果while循环中,不是1,2,3。。。
* 而是数据库中记录呢?
* 而是2人的聊天记录呢?
* 这样就达到,即时通信。
* 服务器端--不间断--推送信息--->到客户端
*
* */
?>
相关文章推荐
- HTTP协议分析系列(十)------HTTP协议+分块传输+持久链接+反向ajax+服务器推技术
- http协议与分块传输,持久连接及反向ajax
- HTTP 笔记与总结(9)分块传输、持久链接 与 反向 ajax(comet / server push / 服务器推技术)
- HTTP协议是无状态协议无链接,怎么理解?
- 解决 nginx https反向代理http协议 302重定向localtion到http问题
- JAVA接口http协议传输—Hessian
- 网络传输协议(http协议)
- SEO基本概念之反向链接
- (链接)Linux socket 传输和接受结构体
- 理解JMS规范中消息的传输模式和消息持久化
- CNN卷积神经网络---反向传播(1,全链接bp算法)
- SEO营销如何获得大量高质量的反向链接
- mysql链接方式 持久链接
- 2017.7.26 机房测试(KMP/Hash,分块+可持久化Trie树贪心,主席树+AC自动机)
- [水煮 ASP.NET Web API2 方法论](1-4)从 MVC Controller 链接到 API Controller 以及反向链接
- 【转】Android通过http协议POST传输方式
- HTTP 断点续传(分块传输)
- BZOJ2741 【FOTILE模拟赛】L 【可持久化trie + 分块】
- 搜索引擎迈进四 反向链接
- Android通过http协议POST传输方式