transfer-encoding

可以通过此头属性确定通信内容的传输方式,如果指定chunk表示把大资源分为多个小块进行传输

通常情况下静态资源等小文件传输时可以指定 Content-Length 告知通信双方文件大小,而当传输资源无法确定大小是可以指定该属性进行传输

通信双方也无需知道文件大小,这样可以节省内存空间。此属性和Content-Length 冲突,不应该同时指定,当指定transfer-encding 头信息后

不应该再指定Content-Length属性,且transfer-encoding 的传输长度会比 Content-Length大,如果同时指定会导致接收数据的不完整性。

chunk的格式

包含块头和数据体,二者以及块之间以CLRF 符号分割,块头包含一个十六进制的数字表明块大小

最后一个块形式为 块头为0长度的,不带数据体的块 ,以此表示结束。

时间: 2024-10-21 12:10:53

transfer-encoding的相关文章

HTTP2.0那些事

1. HTTP2.0的前世 http2.0的前世是http1.0和http1.1这两兄弟.虽然之前仅仅只有两个版本,但这两个版本所包含的协议规范之庞大,足以让任何一个有经验的工程师为之头疼.http1.0诞生于1996年,协议文档足足60页.之后第三年,http1.1也随之出生,协议文档膨胀到了176页.不过和我们手机端app升级不同的是,网络协议新版本并不会马上取代旧版本.实际上,1.0和1.1在之后很长的一段时间内一直并存,这是由于网络基础设施更新缓慢所决定的.今天的http2.0也是一样,

python爬虫:http请求头部(header)详解

本文根据RFC2616(HTTP/1.1规范),参考 http://www.w3.org/Protocols/rfc2068/rfc2068 http://www.w3.org/Protocols/rfc2616/rfc2616 http://www.ietf.org/rfc/rfc3229.txt 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成.HTTP的头域包括通用头,请求头,

模拟http请求 带 chunked解析办法一

今天在干坏事抓取别人页面时候遇到一个问题,平时我们在post数据后,大不了要求提交cookie,但是今天这个测试了N遍不需要coookie都行的,但是抓取到的始终是乱码,怎么解析都不行.于是自己又把cookie和一大堆header给加上,还是同样的问题,于是开始郁闷了.PHP脚本不行,但是同样的提交浏览器上面就行,这个是怎么回事呢?于是开始分析能看到的数据,终于看到一个特别的地方,我们平时请求数据的时候都会在header里面看到一个 Coontent-Length: xxxx 这个是表示这次发送

HTTP协议及其请求头分析

众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用.  WWW服务器使用的主要协议是HTTP协议,即超文体传输协议.由于HTTP协议支持的服务不限于WWW,还可以是其它服务,因而HTTP协议允许用 户在统一的界面下,采用不同的协议访问不同的服务,如FTP.Archie.SMTP.NNTP等.另外,HTTP协议还可用于名字服务器和分布式对象管 理.  HTTP的早期版本为HT

开源项目成熟度分析工具-利用github api获取代码库的信息

1.github api github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式. api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --append Ap

HTTP 协议入门

[本文摘自阮一峰老师] HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 最早版本是1991年发布的0.9版.该版本极其简单,只有一个命令GET. GET /index.html 上面命令表示,TCP 连接(connection

Linux 源码编译安装curl

系统环境:Ubuntu 环境编译安装curl 开始编译安装 [email protected]:~$ mkdir curl [email protected]:~$ cd curl/ [email protected]:~/curl$ tar xf curl-7.51.0.tar.gz  [email protected]:~/curl$ cd curl-7.51.0/ [email protected]:~/curl/curl-7.51.0$  [email protected]:~/curl

HTTP1.1协议中文版-RFC2616

转自:http://www.cnpaf.net/Class/HTTP/200811/23277.html 说明 本文档规定了互联网社区的标准组协议,并需要讨论和建议以便更加完善.请参考 “互联网官方协议标准”(STD 1)来了解本协议的标准化状态.本协议不限流传发布. 版权声明 Copyright (C) The Internet Society (1999).   All Rights Reserved. 摘要 超文本传输协议(HTTP)是一种为分布式,合作式,超媒体信息系统.它是一种通用的,

httpcomponents-client-4.4.x

Chapter 1. Fundamentals Prev     Next Chapter 1. Fundamentals 1.1. Request execution The most essential function of HttpClient is to execute HTTP methods. Execution of an HTTP method involves one or several HTTP request / HTTP response exchanges, usu

CURL HELP

Usage: curl [options...] <url> Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --append Append to target file when uploading (F/SFTP) --basic Use HTTP Basic Authentication (H) --cac