Rails API:什么时候发送 Base64 编码数据而不是原始数据更好



我正在使用Ruby on Rails框架创建一个API。用户可以使用 POST 方法发送数据,将原始数据作为 POST 参数传递。但是,当我将我的 API 与其他 API 进行比较时(例如 mixpanel https://mixpanel.com/help/reference/http#base64 的 API),我发现其中一些只接受填充的 Base64 请求。

我的问题是:使用填充的 Base64 请求是否更好,为什么?

谢谢。

base64编码的主要用例是当您想要存储或传输具有一组受限字符的数据时;即当您无法在每个字节中传递任意值时。

参考: https://stackoverflow.com/a/1682960/85125

在Mixpanel的情况下,他们为所有请求使用JSON api。由于 JSON 是字符串协议,因此发送某些类型的数据(如二进制)会破坏字符串并影响请求。因此,他们选择了 Base64 所有请求,以确保使用 JSON 可接受的一组受限字符传输它们。

要回答你的问题,这不是它是否更好的问题,而是它是否需要的问题。如果计划构建严格的 JSON API 并计划将二进制数据发送到此 API,则需要对数据进行 Base64 编码。否则,它不是必需的,我不会实现它,因为 Base64 请求大于原始数据请求。希望这有帮助。

最新更新