问题标签 [http-content-length]

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 投票
2 回答
385 浏览

jsp - 为什么我的 JSP 页面没有输出内容长度?

我在使用 JSP 页面的 Web 应用程序前面配置了 CloudFront,但它不会缓存我的页面,因为没有设置 Content-Length 标头。

有没有一种方法可以让 JSP 包含 Content-Length,或者我是否需要做一些丑陋的事情,比如有一个过滤器,而不是流式传输内容以确定它的长度,然后将其流式传输到响应流(设置 ContentLength 标头第一的)。

0 投票
2 回答
337 浏览

php - php cURL POST 内容长度总是显示-1

我是使用 cURL 向服务器发送 POST 请求的新手,但服务器始终显示内容长度为 -1,我的代码如下:

为什么内容长度总是显示-1,谢谢~

0 投票
1 回答
826 浏览

php - Azure 文件存储 putRange 操作失败并显示 416:InvalidHeaderValue (Content-Length)

我正在使用 Azure SDK 对 Azure 文件存储执行基本操作。为了支持更大的文件上传,我支持分块上传,所以我打电话:

$storage->createFileFromContent(...)在第一块和

$storage->putFileRange(...)关于以下所有内容。

第一个请求工作正常,文件在指定的第一个范围内填充。但是,第二个和以下请求失败并出现错误:

这是我为第一个请求指定的标头:

流的实际大小:3000000

对于第二个请求:

流的实际大小:3000000

有人可以告诉我有什么问题吗?我还尝试将范围调整为 300000-6000000,但随后出现此错误:

“代码:400 值:HTTP 标头之一的值格式不正确。>> 内容长度”

这可能是由于 Azure 中的存储配置错误造成的吗?

0 投票
0 回答
2998 浏览

http - ASP.NET 核心:HTTP HEAD 请求和 Content-Length 标头

这个问题与一个 ASP.NET 核心 2.2 Web 应用程序(以 .NET 核心为目标)有关,该应用程序公开了一些使用 mvc 中间件实现的 Web api 控制器。所有控制器中可用的所有操作方法都必须响应 GET 和 HEAD http 方法。

我们注意到 ASP.NET 核心会自动添加Transfer-Encoding带有值的标头,chunked并根据规范省略Content-Length标头(有关更多详细信息,请参阅此 MDN 页面)。

根据ASP.NET 核心存储库上的这个 github 问题,这种行为似乎取决于 Kestrel Web 服务器的精确设计决策,因此这是预期的行为。

也就是说,每次我们向应用程序的任何路由发出 HEAD 请求时,我们都会得到一个将Content-Length标头设置为 0 的响应,即使相应的 GET 请求(我的意思是具有相同路径的 GET 请求)返回一个非空响应体.

根据我在各种来源上阅读的内容,似乎Content-Length对于 HEAD 请求的响应,标头不是强制性的,但是当包含它时,它应该与相应的 GET 请求具有相同的值。所以0我们在每个 HEAD 请求上看到的值对我来说似乎并不正确。

对于相应的 GET 请求,ASP.NET 核心通过使用块发送响应(如上所述Transfer-Encoding总是chunked针对 GET 请求),这是一个副作用吗?

另一个疑问与向我们的应用程序发出 HEAD 请求以决定是否清除缓存响应的任何类型的缓存有关:零值 Content-Length 是否会对缓存行为的正确性造成风险?

2018 年 3 月 27 日编辑

我们重复了测试,得到了不同但更有意义的结果。我可以确认 GET 和 HEAD 请求都没有发送任何 Content-Length 标头。这绝对是有道理的,因为响应主体总是按块传输到客户端,如上所述。

也就是说,我认为 ASP.NET 核心行为对我来说绝对有意义。

0 投票
0 回答
1022 浏览

java - 在@RestController 中禁用传输编码

我有@RestController如下端点(spring-boot 版本 1.5.9.RELEASE)

每当我调用上面的端点时,我都会收到带有以下标题的响应,

我想禁用传输编码,即我需要包含内容长度。

我有很多这样的控制器。所以我不想计算每个端点的长度并返回ResponseEntity长度值。我正在寻找将自动包含内容长度的通用解决方案。有没有办法做到这一点?

0 投票
1 回答
1641 浏览

java - 如何在 Apache JMeter 中随请求发送 Content-Length?

如何在 Apache JMeterHttp 请求中发送 Http Content-Length 标头?

我正在使用 Apache JMeter 向配置的端点发送 get 请求,如下图所示。

在此处输入图像描述

在那里,我使用参数选项卡来设置请求参数,但是,JMeter 不会将内容长度标头发送到服务器。

我通过在服务器中打印请求来检查这一点。以下是服务器收到的请求。

如何配置 JMeter 以发送内容长度?

0 投票
1 回答
1786 浏览

nginx - 如何将 Content-Length 标头添加到缓存文件?

我使用 Nginx 作为反向代理并缓存来自上游服务器的代理响应。

因此,在发送给我的客户端之前,我需要在这个缓存文件中添加一个 Content-Length 标头。

我尝试将$upstream_response_length变量添加到 location 指令,但它不起作用。

我怎样才能做到这一点?

0 投票
1 回答
127 浏览

utf-8 - 如何在 tclhttpd 中正确计算 Content-length?

我的 Tcl 源文件是 utf-8 格式。Tclhttpd 不能正确发送国家字符,所以我稍微修改了一下。但是,我也发送二进制文件,如 jpg 图像,有时二进制块存在于我的其他 utf-8 HTML 中。我很难计算正确的 Content-length 以完全匹配浏览器接收的内容(否则一些尾随字符会破坏下一个请求标头或浏览器每个请求等待 30 秒,直到超时)。

换句话说,我可以知道puts $socket写入套接字的字节数吗?

我发现了一个特定的 11 字节序列,它搞砸了计数:

控制台上的输出是:

结果Content-Length: 17太多了,浏览器一直在等待。如果我只能事先知道,我的字符串会产生多少字节puts,剩下的就很容易了。有办法吗?

0 投票
1 回答
102 浏览

http - Web 浏览器如何识别 HTTP 请求内容长度

  1. 当我上传文件时,浏览器如何获取文件的大小,并计算总大小(内容长度),并确保它是准确的。
  2. Nginx 可以限制文件大小,例如 1M,1M 中究竟包含什么,HTTP 全字节?一种形式的所有信息?还是一种形式的最大文件(例如,一种形式包括 3 种文本类型和一种文件类型)?Nginx 是通过 Content-length 还是文件的属性来判断的?

  3. 如何通过后缀限制文件大小,例如 JPG 5M 以下,MP4 20M 以下,ZIP 100M 以下

0 投票
2 回答
12236 浏览

node.js - axios手动设置Content-Length,nodeJS

有没有办法在 nodeJS 中发送发布请求并指定内容长度。

我试过(使用 axios):

它不起作用,长度会自动设置为我通过的值以外的值。

我正在使用 axios,但可以使用任何其他方式从 nodeJS 发布。