• 微信:
  • hai764003
  • QQ:
  • 511211014
  • E-mail:
  • jaquery@163.com

案例总数51

访问总数312416

收藏总数310947

HTTP协议,HTTP协议是什么?返回列表

上传时间:2015-02-02 内容关键字:

当我们在采集时,可以不发送Accept-Encoding信息,这样采集直接是源码,当然我们也可以采集gzip (提高速度),再用PHP解压gzip的内容。





10.http协议和持久链接----------分块传输:


应用范围:

网页聊天服务器,新浪微博在线聊天,google mail网页聊天,都有用到。

原理:

http协议的特点 连接 《》 断开服务器响应content-length收到指定的length长度的内容时,也就断开了。


http1.1协议中,运行你不写content-length,比如要发送的内容长度确实不知道时,这个时候就需要一个特殊的

content-type:chunked


分块传输的原理是这样的:


123asdf\r\n

123asdf个长度的内容传输给客户端\r\n

。。。。。

4356H\r\n

浏览器继续接受4356H长度的内容\r\n

直到最后发送一个0\r\n就标记发送完了,断开连接。


实例1演示:


set_time_limit(0);  //表示让服务器请求永远不超时

$i = 1;

$pad = str_repeat(" ",4000);

while($i++){

echo $pad,"
";

echo $i,"
";

ob_flush(); //刷新PHP程序的缓冲,而不论PHP执行在何种情况下(CGI web服务器等等)。

flush();  //该函数将当前为止程序的所有输出发送到用户的浏览器。

sleep(1);

}

思考:如果while循环中不是12,3 。。。而是数据库中的内容呢,而是2人的聊天记录呢?

答案:这样就能达到一个几十通讯。因为服务器端---不间断---推送信息---到客户端。


实例2演示:

 

小海哥推荐你看: 博客园  php教程分享网站  phpmywind  脚本之家