json - Nginx返回带有伪造的200状态代码的空json对象

标签 json performance nginx

我们已经在Nginx上运行了一个API,该API应该返回JSON对象。该服务器有很多负载,因此我们进行了很多性能改进。

该API从客户端接收ID。服务器上有一堆代表这些ID的文件。因此,如果将ID作为文件找到,则后端将返回该文件的内容(这是JSON)。如果该文件不存在,则不会调用任何后端,Nginx simple为此会发送404,因此我们可以节省性能(无需运行后端系统)。

现在,我们偶然发现了一个问题。由于我们仍然需要支持旧系统,因此我们无法为客户端分发404页面,因为这会引起问题。我想到的是返回一个空的JSON字符串({})并带有“假” 200状态代码。这必须是一个高性能的解决方案,以便仍然能够处理所有负载。

这可能吗?如果可以,怎么做?

最佳答案

error_page 404 =200 @empty_json;

location @empty_json {
     return 200 "{}";
}

引用:
  • http://nginx.org/r/error_page
  • http://nginx.org/r/return
  • http://nginx.org/r/location
  • 关于json - Nginx返回带有伪造的200状态代码的空json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19930160/

    相关文章:

    javascript - 动态加载系列 HighCharts

    java - C中是否有与指针函数类似的java ByteBuffer函数

    PostgreSQL:在具有数百万行的表中加速 SELECT 查询

    linux - 尝试安装其他软件包时Nginx出现问题

    javascript - 使用 JSONP,我有 'ReferenceError: data not defined'

    java - jackson 将数组元素反序列化为特定字段

    json - JQ 用 "-"解析字符串

    performance - Scala speed- Finding Primes 示例

    nginx - Lua在nginx中的包路径

    php - 使用 PHP set_time_limit() 防止 nginx 504 网关超时