【问题标题】:Node.js: Why does post request w/ png have content-length header value that is smaller than the actual file size?Node.js:为什么带有 png 的 post 请求的 content-length 标头值小于实际文件大小?
【发布时间】:2016-12-05 22:12:15
【问题描述】:

我正在向本地 node.js 服务器发出发布请求。发布请求包含一个 2.6 kB 的 .png 文件。使用 curl 发出 post 请求:

curl -v -X POST -H "Content-Type: image/png" -d @node.png http://localhost:3000

curl命令的请求输出为:

POST / HTTP/1.1 User-Agent: curl/7.38.0 Host: localhost:3000 Accept: */* Content-Type: image/png Content-Length: 1328 Expect: 100-continue

请注意,Content-Length 标头显示为 1328 字节,大约是发布的实际文件大小的一半。内容长度应该在 2.6 kB 左右,对吗?感谢您的帮助!

【问题讨论】:

    标签: node.js http curl post content-length


    【解决方案1】:

    其实就是下载部分文件的请求头

    请从 Wikipedia 中查看此内容,

    服务器已经收到请求头,客户端应该 继续发送请求正文(在请求的情况下 需要发送body;例如,一个 POST 请求)。发送大 在请求被拒绝后向服务器请求正文 不适当的标题将是低效的。要让服务器检查 请求的标头,客户端必须发送 Expect: 100-continue 作为标头 在其初始请求中并收到 100 Continue 状态代码 发送正文之前的响应。响应 417 期望失败 表示不应继续请求。

    Wiki Link

    【讨论】:

      猜你喜欢
      • 2015-04-05
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 2010-09-24
      • 1970-01-01
      • 2021-04-17
      相关资源
      最近更新 更多