用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
gooogledev的公告
<div style="text-align: center;"><img border="0" alt="" style="margin-bottom: 8px;" src="http://group.hexun.com/p/logo/0/209/209108/209108.jpg" /> <br /></div> <div class="li_new_01"> <div style="text-align: center;"><span style="color: rgb(0, 0, 255);">人要吃很多苦才可以长大!</span><br style="color: rgb(0, 0, 255);" /></div> <p style="border: medium none ; color: rgb(0, 0, 255); text-align: center;"><font size="2"><span style="font-family: georgia;" class="content">踏实平凡人应该遵守的原则!</span></font></p> <div> </div> <p style="text-align: center;"><font size="2"><span style="font-family: georgia;" class="content"></span></font></p> <div style="text-align: center;"> </div> <p style="text-align: center;"><font size="2"><span style="font-family: georgia;" class="content"><a target="blank" href="tencent://message/?uin=43686904&amp;Site=%E8%B7%AF%E6%98%AF%E7%88%AC%E5%87%BA%E6%9D%A5%E7%9A%84&amp;Menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=1:43686904:13" alt="与我TM" /></a></span></font> <br /></p> <p style="text-align: center;">gooogledev@gmail.com<br /></p> <div style="text-align: center;"> </div> <p style="text-align: center;"><a href="http://www.blogjava.net/gooogle/"><font size="2">友情链接</font></a></p> <div style="text-align: center;"> </div> <p style="text-align: center;"><font size="2">我的j2me创意</font></p> <div style="text-align: center;"> </div> <p style="text-align: center;"><a href="http://blog.csdn.net/gooogledev/archive/2007/03/30/1547004.aspx">Wap浏览器的源代码</a></p> <p style="text-align: center;"><a href="http://blog.csdn.net/gooogledev/archive/2007/04/27/1587023.aspx" target="_blank">用自己写的rms引擎写的电话本</a></p> <table width="70%" align="center"> <tbody> <tr align="center"> <td height="22"><a href="http://blog.csdn.net/gooogledev/rrs.aspx"><img alt="RSS订阅此博客" src="http://wuhua.javaeye.com/images/rss2.gif" /></a>&nbsp;&nbsp; </td> </tr> <tr align="center"> <td height="22"> <a href="http://www.zhuaxia.com/add_channel.php?url=http://blog.csdn.net/gooogledev/rrs.aspx"><img alt="用抓虾订阅此博客" src="http://wuhua.javaeye.com/images/rss_zhuaxia.gif" /></a> </td> </tr> <tr align="center"> <td height="22"> <a href="http://fusion.google.com/add?feedurl=http://blog.csdn.net/gooogledev/rss.aspx"><img alt="用google订阅此博客" src="http://wuhua.javaeye.com/images/rss_google.gif" /></a> </td> </tr> <tr align="center"> <td height="22"> <a href="http://www.bloglines.com/sub/http://blog.csdn.net/gooogledev/rss.aspx"><img alt="用bloglines订阅此博客" src="http://wuhua.javaeye.com/images/rss_bloglines.gif" /></a></td> </tr> </tbody> </table> </div> &nbsp; &nbsp; <a href="http://www.peoplepk.com">网络封神榜</a> | <a href="http://www.peoplepk.com/searchredirect.asp?keywords=%E9%A5%B6%E8%8D%A3%E5%BA%86">饶荣庆</a><br /> <iframe src="http://www.peoplepk.com/iframe/personview.asp?PersonName=%E9%A5%B6%E8%8D%A3%E5%BA%86" width="180"></iframe> <script type="text/javascript"><!-- google_ad_client = "pub-4259319301502239"; /* 120x600, 创建于 08-2-14 */ google_ad_slot = "6453840759"; google_ad_width = 120; google_ad_height = 600; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
文章分类
我的链接
3G视线
EasyMF J2ME框架
Lucene中国
我的Google
无花的博客
存档

原创  http协议之chunk编码 收藏

在有时服务器生成HTTP回应是无法确定消息大小的,这时用Content-Length就无法事先写入长度,而需要实时生成消息长度,这时服务器一般采用Chunked编码。  
    在进行Chunked编码传输时,在回复消息的头部有transfer-coding并定为Chunked,表示将用Chunked编码传输内容。采用以下方式编码:  
    Chunked-Body=*chunk  
           "0"CRLF  
           footer  
           CRLF  
    chunk=chunk-size[chunk-ext]CRLF  
        chunk-dataCRLF  
   
    hex-no-zero=<HEXexcluding"0">  
   
    chunk-size=hex-no-zero*HEX  
    chunk-ext=*(";"chunk-ext-name["="chunk-ext-value])  
    chunk-ext-name=token  
    chunk-ext-val=token|quoted-string  
    chunk-data=chunk-size(OCTET)  
   
    footer=*entity-header  
    编码使用若干个Chunk组成,由一个标明长度为0的chunk结束,每个Chunk有两部分组成,第一部分是该Chunk的长度和长度单位(一般不 写),第二部分就是指定长度的内容,每个部分用CRLF隔开。在最后一个长度为0的Chunk中的内容是称为footer的内容,是一些没有写的头部内 容。  
    下面给出一个Chunked的解码过程(RFC文档中有)  
    length:=0  
    readchunk-size,chunk-ext(ifany)andCRLF  
    while(chunk-size>0){  
    readchunk-dataandCRLF  
    appendchunk-datatoentity-body  
    length:=length+chunk-size  
    readchunk-sizeandCRLF  
    }  
    readentity-header  
    while(entity-headernotempty){  
    appendentity-headertoexistingheaderfields  
    readentity-header  
    }  
    Content-Length:=length  
    Remove"chunked"fromTransfer-Encoding

发表于 @ 2009年03月11日 09:40:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:中文编码基础知识介绍 | 新一篇:gsm call命令向Android模拟器打电话

  • 发表评论
  • 评论内容:
  •  
Copyright © gooogledev
Powered by CSDN Blog