Rom*_*pak 18 language-agnostic api rest json http
假设API已有详细记录,并且描述了每个可能的响应字段.
Web应用程序的服务器API是否应在JSON响应中排除空字段以降低流量?这根本不是一个好主意吗?
我试图计算像Twitter这样的大型应用程序减少的流量,这些数字实际上非常有说服力.
例如:如果"someGenericProperty":null
从每个单独的API响应中排除单个响应字段(26个字节),而据报道Twitter每天有130亿个API请求,则流量减少量将超过300 Gb.
每天超过300 Gb的流量是相当省钱的,不是吗?这可能是有史以来最天真,最简单的计算,但仍然如此.
aho*_*fer 34
一般来说,没有.API越公开,API的潜在消费者越多,API就越不变.
在许多应用中,网络延迟是主要因素,而不是带宽.出于性能原因,许多API开发人员会赞成针对许多小型请求/响应的一些大型请求/响应.在我上一家公司,销售和计费系统会定期交换100 KB,200 KB或更多的消息.有时只需要几KB的数据.但总体系统性能优于获取一些数据,发现需要更多数据然后发送额外的数据请求.
对于大多数应用程序而言,一些不一致性比多余数据浪费更危险.
与往常一样,有一百万例外.我曾经在鱼雷维修厂接受采访.他们在射程上有水下传感器来跟踪鱼雷.所有传感器数据都通过声学调制解调器传递到中央水下数据采集器.声学水下调制解调器?是.每波特300波特,每个字节都很重要.
有电池供电的嵌入式应用,每个字节都很重要,以及低频RF通信系统.
另一个例外是稀疏数据.例如,设想一个包含4,000,000行和10,000列的矩阵,其中99.99%的矩阵值为零.矩阵应该用不包含零的稀疏数据结构表示.