ÀûÓÃbigpipe»úÖÆÊµÏÖÒ³ÃæÄ£¿éµÄÒì²½äÖȾ chunked¼¼Êõ
bigpipe»ùÓÚHTTP/1.1 Ö§³ÖµÄchunked±àÂ룬¿ÉÒÔÓÉä¯ÀÀÆ÷½ÓÊÕµ½·þÎñÆ÷·¢Ë͵Ächunked¿éºó£¬Á¢¼´½âÎö¸Ã¿é´úÂë¡£
ÒòΪchunked±àÂëʹÏûÏ¢Ö÷Ìå³É¿é·¢ËÍ£¬Ã¿¿éÓÐ×Ô¼ºµÄ´óСָʾÆ÷£¬ÔÚËùÓеĿéÖ®ºó»á½ô½Ó×ÅÒ»¸ö¿ÉÑ¡µÄ°üº¬ÊµÌåÍ·ÓòµÄβ²¿¡£ÕâÖÖ±àÂë³äÐí·¢ËͶËÄܶ¯Ì¬Éú³ÉÄÚÈÝ£¬²¢ÄÜЯ´øÄÜÈýÓÊÕ¶ËÅжÏÏûÏ¢ÊÇ·ñ½ÓÊÕÍêÕûµÄÓÐÓÃÐÅÏ¢¡£
ÿ¿éµÄ´óСָʾÆ÷chunk-sizeΪ16½øÖÆÊý×Ö×Ö·û´®£¬¿é±àÂëÒÔ´óСΪ0µÄ¿é½áÊø£¬½ô½Ó×ÅÊÇtrailer(β²¿)£¬trailerÒÔÒ»¸ö¿ÕÐÐÖÕÖ¹¡£
ÈçÏÂͼ£º
ͼÖÐÀ¶¿òÇøÓòËùʾ¸ÃhttpÏìӦΪchunked±àÂë
ͼÖÖºì¿ò²¿·ÖΪÿһ¸öchunked¿é£¬ÆäÖбÈÈçµÚÒ»¸ö¿éµÄ14a¾ÍÊÇÕâ¸ö¿éµÄ´óСָʾÆ÷chunk-size£¬½ô½Ó×ŵľÍÊÇ¿éµÄÄÚÈÝ¡£
ÔÚ×îºóÒ»¸öÄÚÈÝ¿éºóÃæ»áÔö¼ÓÒ»¸ö´óСΪ0µÄ¿é£¬ÒÔ±êÖ¾ËùÓпé½áÊø£¬ËùÒÔÕæÊµµÄ¿éÊýÁ¿»á±È¿É¼ûµÄÄÚÈÝ¿éÊýÁ¿¶àÒ»¸ö¡£
µã»÷ÒÔϵØÖ·¿ÉÒԲ鿴¸ÃʵÀý£¬¿ÉÒÔÃ÷ÏԵؿ´µ½Ã¿Ò»ÐеÄÑÓ³ÙÊä³ö¡£
<chunked¿éÊä³öʵÀý>(дÍ격Îĺó·¢ÏÖÎÒÄÇÆÆ¿Õ¼äû֧³Öchunked±àÂ룬´ó¼ÒÄÃÔ´Âë×Ô¼ºÔÚ±¾µØÔËÐаÉ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title></title> </head> <body> 111111111111111111111111111111111<br/> <?php ob_flush(); flush(); sleep(2); ?> 222222222222222222222222222222222<br/> <?php ob_flush(); flush(); sleep(2); ?> 333333333333333333333333333333333<br/> <?php ob_flush(); flush(); sleep(2); ?> 444444444444444444444444444444444<br/> <?php ob_flush(); flush(); sleep(2); ?> 555555555555555555555555555555555<br/> </body> </html> ´ó¼Ò¿ÉÒÔ¿´µ½£¬ÔÚPHPÖУ¬ÊÇͨ¹ýflush()Óï¾äÀ´½«»º³åÇøÀïµÄÊý¾Ýʵʱ·¢Ë͵½ÇëÇó¶Ë£¬ÊµÏÖÆðÀ´²¢²»¸´ÔÓ¡£ ok£¬ÄÇôÎÒÃÇÈçºÎÀ´Í¨¹ýchunked±àÂë¿éµÄÕâ¸öÌØÐÔÀ´ÊµÏÖÒ³ÃæÔªËØµÄÒì²½äÖÈ¾ÄØ?ÊÇÓÉ·þÎñÆ÷¶ËÊä³ö·Ö¿éµÄÄÚÈÝ£¬Æäʵ¾ÍÊÇÒ»¶Î<script>±êÇ©ÄÚÈÝ£¬<script>±êÇ©Ìí¼Óµ½Ò³Ãæºó£¬»áÓɱêÇ©ÄÚµÄjs´úÂëÀ´×÷Ò³ÃæÄ£¿éäÖȾµÄ¿ØÖÆ£¬Çë¿´ÒÔÏÂʾÀý£º<chunked¿éÄ£¿éäÖȾ>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>bigpipe demo</title> <script type="text/javascript"> function render(nodeID,html){ document.getElementById(nodeID)[removed]=html; } </script> </head> <body> <div id="node1"><strong>loading...<strong></div> <div id="node2"><strong>loading...<strong></div> <div id="node3"><strong>loading...<strong></div> <div id="node4"><strong>loading...<strong></div> <script type="text/javascript">render("node1",'<div>lalalalal~~~~<br/>lalalalal~~~~<br/>lalalalal~~~~<br/>lalalalal~~~~<br/>lalalalal~~~~<br/></div>')</script> <?php ob_flush(); flush(); sleep(2); ?> <script type="text/javascript">render("node2",'<div style="color:blue;">wa~~kakakakakakka~~~~~<br/>wa~~kakakakakakka~~~~~<br/>wa~~kakakakakakka~~~~~<br/></div>')</script> <?php ob_flush(); flush(); sleep(2); ?> <script type="text/javascript">render("node3",'<div style="color:red;">wohahah...wohhahahah...<br/>woowowowo~~~~</div>')</script> <?php ob_flush(); flush(); sleep(2); ?> <script type="text/javascript">render("node4",'<div>go~go~go~~~a~le~a~le~a~le~~~</div>')</script> <?php ob_flush(); flush(); ?> </body> </html>
ÍÆ¼öÐÅÏ¢
- ¡¾ÊÓÆµ²¥·Å¡¿JplayerÊÓÆµ²¥·ÅÆ÷µÄʹÓÃ
- memcacheÄÚ´æÔÀí
- Memcache¼¼Êõ·ÖÏí£º½éÉÜ¡¢Ê¹Óᢴ洢¡¢Ëã·¨¡¢ÓÅ»¯....
- php³£ÓÃÕýÔò±í´ïʽ
- phpÐÔÄܼà²âÄ£¿éXHProf
- ÈÃCI¿ò¼ÜÖ§³Öservice²ã
- ʹÓÃPHPÉú³É´øLOGOµÄ¸öÐÔ»¯¶þάÂëͼÏñ
- ¹ØÓÚCodeIgniterÄã¿ÉÄܲ»ÖªµÀµÄ5¸ö֪ʶµã
- Memcache ºÁÃë¼¶³¬Ê±¼°ÆäËû³£¼ûÎÊÌâ»ã×Ü
- [PHP±Ê¼Ç]PHPQueryÒ»¸ö´¦ÀíDOMµÄÀûÆ÷
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔØ½ø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- PHP»ñÈ¡Óû§µÄÕæÊµIP£¬²¢ÅжÏÊÇ·ñÄÚÍøIP
- PHP ´íÎóÈÕÖ¾ error_log
- ÀûÓÃbigpipe»úÖÆÊµÏÖÒ³ÃæÄ£¿éµÄÒì²½äÖȾ chunked¼¼Êõ
- php¿ØÖÆÎļþÏÂÔØËÙ¶È
- js + php ¶ÁÈ¡¡¢²¥·ÅÊÓÆµÁ÷ ¼æÈÝfirefox£¬c....
- ¡¾ÊÓÆµ²¥·Å¡¿JplayerÊÓÆµ²¥·ÅÆ÷µÄʹÓÃ
- UNICODE Óë UTF-8 µÄ¹ØÏµ
- memcacheÄÚ´æÔÀí
- Memcache¼¼Êõ·ÖÏí£º½éÉÜ¡¢Ê¹Óᢴ洢¡¢Ëã·¨¡¢ÓÅ»¯....
- phpʹÓÃmb_detect_encoding¼ì²â×Ö·û´®±àÂë
ÆÀÂÛ