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的内容,是一些附加的


你可能感兴趣的:(nginx,json,api,url,action,token)