Page 399 - HTTP权威指南
P. 399

HTTP/1.1 200 OK<CR><LF>
                      响应流                  Content-type: text/plain<CR><LF>
                                           Transfer-encoding: chunked<CR><LF>
                              HTTP响应       Trailer: Content-MD5<CR><LF>
                                           <CR><LF>
                                           十六进制表示的分块大小(十六进制的27`39个字符)
                               第1块
                                           27<CR><LF>
                                           We hold these truths to be self-evident<CR><LF>
                               第2块         26<CR><LF>
                                           , that all men are created equal, that<CR><LF>

                                           84<CR><LF>
                               第3块          they are endowed by their Creator with certain
                                           unalienable Rights, that among these are Life,
                                           Liberty and the pursuit of Happiness.<CR><LF>



                                           0<CR><LF>
                              最后一块
                                           Content-MD5:gjqei54p26tjisgj3p4utjgrj53<CR><LF>

                               拖挂  *       *可选——仅当报文首部中有Trailer首部时才出现


         357   图 15-6 剖析分块编码报文

               2. 分块报文的拖挂

               如果客户端的 TE 首部中说明它可以接受拖挂的话,就可以在分块的报文最后加上拖
               挂。产生原始响应的服务器也可以在分块的报文最后加上拖挂。拖挂的内容是可选的
               元数据,客户端不一定需要理解和使用(客户端可以忽略并丢弃拖挂中的内容)。                                   9
               拖挂中可以包含附带的首部字段,它们的值在报文开始的时候可能是无法确定的
              (例如,必须要先生成主体的内容)。Content-MD5 首部就是一个可以在拖挂中发送
               的首部,因为在文档生成之前,很难算出它的 MD5。图 15-6 中展示了拖挂的使用
               方式。报文首部中包含一个 Trailer 首部,列出了跟在分块报文之后的首部列表。
               在 Trailer 首部中列出的首部就紧接在最后一个分块之后。

               除了 Transfer-Encoding、Trailer 以及 Content-Length 首部之外,其他 HTTP
               首部都可以作为拖挂发送。



               注 9: trailer(拖挂)首部是在最初的分块编码被加入到 HTTP/1.1 规范的草案之后才加入的,因此有些
                   应用程序可能不理解这个首部(或者不理解拖挂),尽管它们声称是兼容 HTTP/1.1 的。


               374   |   第 15 章
   394   395   396   397   398   399   400   401   402   403   404