web-dev-qa-db-fra.com

Base64 dans Json: est-ce une bonne idée pour l'API Rest?

Je développe une API Rest, et je me pose la question:

Est-ce une bonne idée de mettre des données encodées en base64 dans Json, par ex. pour les téléchargements de fichiers? Que faire si le base64 contient une partie de {, }, : caractères et casse le contenu json?

Si ce n'est pas une bonne idée, quelles alternatives sont généralement considérées comme les meilleures pratiques?

8
Dimitrios Desyllas

Base64 est un encodage sûr pour JSON.

L'inconvénient de l'utilisation de Base64 est qu'il est assez verbeux. Il peut ajouter une surcharge importante à votre téléchargement de fichiers, ce qui signifie un téléchargement plus long et une plus grande bande passante utilisée. Si c'est possible, je suggère d'utiliser un protocole binaire qui prend en charge les types JSON. CBOR est un outil populaire qu'ElasticSearch utilise pour les téléchargements de documents. Il y a aussi BSON .

6
Samuel