2012-11-13 43 views
3

当尝试执行导致400错误请求错误的http请求时,nginx服务器以非编码格式返回“400错误请求”,Content-Encoding:gzip和响应。是否可以对http请求错误进行响应?

因此,由于Content-Encoding:gzip,我的代码用一个GZIPInputStream封装了响应,它引发了一个错误。

我的问题是:当状态码不是“200 OK”时,gzip是有效的编码吗?如果没有,我可以简单地检查状态码,并且如果返回200以外的任何内容,则不要尝试gzip。

有关于此的规则/指导原则吗?这是记录在任何地方?

TIA

+2

gzip在任何响应代码中都有效,但是无论如何,您只能使用状态代码进行决定(实际上我不知道为什么当状态代码不是200时需要内容) – ice

+0

这是针对其他代码库的代码库开发人员使用,所以在可能的情况下,我们应尽可能多地给他们提供信息,包括导致错误的请求。 – isapir

+1

@ice _“实际上我不知道为什么当状态码不是200时需要内容_--因为301,302,303:_”响应的实体应该包含一个超链接到新的超短文本URI(s)。“_,403:_”如果服务器希望公开为什么请求没有得到满足,它应该描述实体拒绝的原因“_,... – CodeCaster

回答

4

是的,它是一个有效的编码。内容编码(和传输编码)与状态码正交。