nginx返回chunked编码的问题

写api接口的时候,nginx默认会返回chunked编码的html数据。抓包后,会出现额外的字符串。

问题是这样的

我写了一个api接口,如 /api/upload.json ,用于上传文件
上传文件成功后,我会返回一个json字符串,提示上传成功。字符串的形式如下:

{"token":"3985qh1qer4yn","url":"http://xxxxxxx:port/3985qh1qer4yn"}

但是,不知道为什么,我抓包后,返回的body中,会有一些特别的字符串

da
{"token":"3985qh1qer4yn","url":"http://xxxxxx:port/3985qh1qer4yn"}
0

不是特定的接口这样,是所有接口都这样。
如下是我的Rails action代码

      reply = video.to_hash
      logger.info reply.inspect
      render :json => reply.to_json

大家遇到过这种情况么?

问题已经解决,这是因为Nginx返回的是chunked编码

Chunked编码使用若干个Chunk串连而成,由一个标明长度为0的chunk标示结束。每个Chunk分为头部和正文两部分,头部内容指定下一段正文的字符总数(十六进制的数字)和数量单位(一般不写),正文部分就是指定长度的实际内容,两部分之间用回车换行(CRLF)隔开。在最后一个长度为0的Chunk中的内容是称为footer的内容,是一些附加的


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值