慧9建 发表于 2016-12-26 08:43:22

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的内容,是一些附加的
页: [1]
查看完整版本: nginx返回chunked编码的问题