问题标签 [chunked-encoding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3130 浏览

apache - Apache 2:如何更改 http 块大小?

我相信 Apache 2.x 默认为 8192 字节的 http/1.1 块大小?

我没有看到更改它的指令 - 是否有任何未记录的内容?

另外,是否可以强制对文件进行分块?如果 Apache 知道文件的总大小(如静态图像),它通常不会对文件进行分块。这种行为可以改变吗?

0 投票
2 回答
1394 浏览

c++ - libcurl:检测块编码响应的块边界

我正在使用 libcurl,目前是简单的 api。我正在向使用 HTTP 块编码响应的 Web 服务器发出请求。我想知道是否有办法知道来自服务器的块何时完成。我正在寻找某种类型的回调。DEBUGDATA 似乎没有包含它,并且 CHUNK_END_FUNCTION 似乎无关。

0 投票
3 回答
21182 浏览

http-headers - 如何在 Tomcat 6 中禁用传输编码

我有一个在 Tomcat 6.0.29 服务器和 JDK 1.6 上运行的 Web 应用程序。

当我向客户端发送响应时,Tomcat 发送

当响应大小 > 8KB 时,在标头中。对于小于 8KB 的响应,它发送

我知道分块编码是处理批量响应的首选方式,但是我们的客户不想更改他们的代码(因为它分布在所有服务器上)。

如何在 Tomcat 中禁用分块编码?

我可以在 Tomcat 中禁用 HTTP/1.1 并启用 HTTP/1.0(不知道我该怎么做)

我尝试了以下但没有成功:

  1. 在连接器标记中server.xml,我设置bufferSize =" 65536"

    /li>
  2. 在 server.xml 中使用 NIOConnector,配置如下:

    /li>
0 投票
1 回答
153 浏览

vb.net - 仅直接获取 vb.net 中第一个第 n 个字符之后的内容

有什么方法可以直接说出前 5000 个字符之后的 1000 个字符,在使用 VB.NET 中的 GET 或 POST 向 HTTPS 页面发送 HTTP 请求后跳过之前的所有内容?

我问这个问题的原因是因为在一个网页中我正在尝试通过我的程序,该网站正在发送响应数据块,第一个块包含一些我不感兴趣的 javascript 垃圾,我唯一的数据关心是在第二块和

  1. 我不知道如何在收到第一个块后获取第二个块,因为它在同一个 HTTP 请求中

  2. 如果我可以跳过我不需要的第一个块,它将节省一些时间和 Internet 流量。

这是可能的还是我只是在做白日梦?

非常感谢!

添加:这是我从我试图获得的网页中获得的典型响应标题:

不确定这是否有帮助,但正如您所见,我看不到块大小,标题中也没有“预告片”。

0 投票
3 回答
2211 浏览

java - 通过套接字读取分块

对于我的应用程序,我通过套接字发送 http-get 请求。然后网站发送响应,但它使用的是分块编码。有没有办法下载完整的数据?也许我使用错误的方式下载数据?

我已经阅读了有关“ChunkedInputStream”的信息,但我无法让它工作。

0 投票
2 回答
1151 浏览

java - 如何从使用 ThreadSafeClientConnManager 的连接的响应中获取分块页脚?

我正在使用由 ThreadSafeClientConnManager (Apache httpcomponents 4.1.1) 创建的连接。响应是分块的(我期望的),由 response.getEntity().isChunked() 确定

但是,没有办法获得页脚/拖车(这是我们的应用程序所必需的)。由于响应被分块,我希望实体内容的类型为 ChunkedInputStream,但是客户端使用的默认请求导向器和执行器类包装了原始响应实体(从 httpcomponents 源来看,它是一个 ChunkedInputStream)在 BasicManagedEntity 中。

简而言之,我不再能够从响应中获取页脚/拖车,因为 BasicManagedEntity 不会使基础实体可供使用。有谁知道如何解决这个问题?

供参考,请参阅:

  • org.apache.http.impl.client.DefaultRequestDirector.java,第 523-525 行
  • org.apache.http.impl.entity.EntityDeserializer.java,第 93-96 行
0 投票
1 回答
1863 浏览

android - 无休止地接收分块数据

您可能知道在 HTTP 标头中发送分块文件,没有内容长度,因此程序必须等待 0 才能理解该文件已结束。

为了接收这个文件,可以使用以下代码。

但就我而言,我使用流媒体频道,换句话说,没有 0 表明该文件已结束。无论如何,如果我使用此代码,它似乎永远等待等待永远不会发生的 0。我的问题有没有更好的方法从流通道接收分块文件?

0 投票
3 回答
2158 浏览

python - Python urllib2 decode chunked encoding

I have the following code to open and read URLs:

and I believe this is the most standard way to read data from HTTP. However, when the response have chunked tranfer-encoding, the response starts with the following characters:

This happens due to the mentioned above chunked encoding and thus my XML data becomes corrupted.

So I wonder how I can get rid of all meta-data related to the chunked encoding?

0 投票
1 回答
4247 浏览

apache - 自定义 CMS 上糟糕的 Apache Bench 结果

请注意:这不是对劣质 CMS 的抱怨。

只是玩弄 Apache Bench 并使用我们的自定义 CMS 得到了糟糕的结果,更确切地说,我得到了:

当我用一个普通的 php 文件运行另一个测试时,我得到了:

使用以前版本的 CMS 进行的另一项测试:

网站运行良好,未检测到问题,Google 的网站管理员工具报告我们的网站速度超过 80% 的页面,我认为这很好。

测试是:

也许某种Apache问题?配置错误.htaccess,还是类似的?

更新:

刚刚用套接字运行了一个简单的测试,结果是相似的。页面加载非常非常缓慢。如果我用另一个网站运行我的脚本,一切都很好。

此外,还有一个关于块长度问题的小提示。(错误的 Apache 标头,或行尾?)

该站点已压缩,当打开详细日志记录时,我在响应中看到这些行:

总是在同一个地方,在 HTML 源代码的中间,然后<!DOCTYPE HTML>再一次。

请帮忙。

更新#2:

刚刚使用Rex Swain 的 HTTP 查看器检查了我的 HTTP 标头并得到了以下结果:

你注意到有什么不寻常的地方吗?

0 投票
1 回答
3540 浏览

flash - 每个请求禁用分块

我有一个由 Java Servlet 支持的 Web 服务。该服务由旧版本的 Flash 使用。我们痛苦地发现,在这个版本的 Flash 中,URLLoader无法处理分块响应。永远不会从服务器收到任何分块响应。

我正在使用 Glassfish 来托管 Servlet。我知道如何禁用整个服务器的分块,但这似乎是个坏主意(是吗?)。

是否有标准方法来禁用每个请求的分块?我尝试调用ServletResponse.setBufferSize(SOME_LARGE_VALUE)但令人惊讶的是这并没有影响服务器使用分块的决定。