A un certain moment, tu ne pourras plus ajouter d’informations dans l’url. Et puis tout mettre dans l’url, c’est mal, bouh, pas beau.
Pour une requête plus complexe ou avec beaucoup d’informations de filtrage, tu devras préparer ta requête ElasticSearch et l’envoyer en POST dans le body.
Au moment où le navigateur va tronquer ton url, ou bien le serveur te renvoyer l’erreur 414 (Request-URI Too Long).
Accessoirement, c’est aussi une question de vie privée/sécurité, puisque tes url sont log-guées, les informations que tu y mets sont exposées. Si tu les mets en body d’un POST, elle ne sont pas log-guées, et reste uniquement visible de ceux qui interceptent la requête.
D’abord tu testes ta requête dans un client d’API REST, comme le module Rested de Firefox ( mode custom pour le body).
Quand c’est bon, tu crées le body en php (un tableau que tu convertis en string json). Puis tu balance en POST, voir le commentaire PHP: file_get_contents - Manual
Ne sont-ce pas que des infos qui transitent uniquement entre le serveur PHP qui fait tourner le script et le serveur depuis lequel je récupère les données ?
Et, quand bien même elles seraient visibles de tout un chacun, en quoi est-ce que ça peut poser problème dans mon cas d’usage, qui est d’afficher un nuage des noms des donateurs ? D’ailleurs, pour plus de transparence, je pourrais même effectivement aller jusqu’à afficher les clefs publiques correspondantes au survol du nom Cesium+
J’explique simplement quelles sont les bonnes pratiques quand on utilise le protocole HTTP. C’est en oubliant celles-ci qu’on finit par mettre des mots de passe dans les urls. D’ailleurs il y a même des puristes qui déconseillent de mettre l’id des clefs primaires des bases de données dans les urls (comme celle de discourse dans ta barre d’adresse), ils y voient une faille de sécurité.
Dans ton cas d’usage, la question ne se pose pas.
Par contre, si tu comptes ajouter plusieurs clés publiques dans ta recherche, la méthode que je te conseille te le permet sans limite, alors que la taille de l’url est limitée.