博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] http chunk
阅读量:6587 次
发布时间:2019-06-24

本文共 678 字,大约阅读时间需要 2 分钟。

当客户端向服务器请求一个静态页面或者一张图片时,服务器可以很清楚的知道内容大小,然后通过Content-Length消息首部字段告诉客户端需要接收多少数据。但是如果是动态页面等时,服务器是不可能预先知道内容大小,这时就可以使用Transfer-Encoding:chunk模式来传输数据了。即如果要一边产生数据,一边发给客户端,服务器就需要使用"Transfer-Encoding: chunked"这样的方式来代替Content-Length。

在进行chunked编码传输时,在回复消息的头部有Transfer-Encoding: chunked

编码使用若干个chunk组成,由一个标明长度为0的chunk结束。每个chunk有两部分组成,第一部分是该chunk的长度,第二部分就是指定长度的内容,每个部分用CRLF隔开。在最后一个长度为0的chunk中的内容是称为footer的内容,是一些没有写的头部内容。

chunk编码格式如下:

[chunk size][\r\n][chunk data][\r\n][chunk size][\r\n][chunk data][\r\n][chunk size = 0][\r\n][\r\n]

chunk size是以十六进制的ASCII码表示,比如:头部是3134这两个字节,表示的是1和4这两个ascii字符,被http协议解释为十六进制数14,也就是十进制的20,后面紧跟,再接着是连续的20个字节的chunk正文。chunk数据以0长度的chunk块结束,也就是(30 0d 0a 0d 0a)。

转载地址:http://qnhno.baihongyu.com/

你可能感兴趣的文章
关于图片或者文件在数据库的存储方式归纳
查看>>
Express框架是什么
查看>>
Shader 学习笔记 ---Depth of Field 介绍
查看>>
C# Socket tcp 发送数据大小问题
查看>>
星级 评分
查看>>
hdu 1728 逃离迷宫(dFS+优先队列)
查看>>
通信协议之广播---recvfrom 放回客户端的ip地址第一次全为0.0.0.0
查看>>
subversion SVN
查看>>
php 常用函数
查看>>
oracle-3-子查询和常用函数
查看>>
Hibernate原生SQL查询
查看>>
item2
查看>>
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
查看>>
幸运的背后,总是靠自身的努力在支撑
查看>>
云计算面临安全挑战
查看>>
C# 线程手册 第三章 使用线程 Monitor.TryEnter()
查看>>
分享11个超棒的移动应用(mobile apps)开发解决方案
查看>>
mysql5.5.17源代码安装
查看>>
关于【cocos2dx-3.0beta-制作flappybird】教程在3.2project中出现找不到CCMenuItem.h的解决方法...
查看>>
7z格式、LZMA压缩算法和7-Zip详细介绍
查看>>