Je suis tombé sur une API qui utilise IFrame pour communiquer avec un système tiers sous-jacent. Je me demandais si c'était juste un ancien système, j'ai remarqué que le système expose en plus de l'IFrame une API REST relativement moderne et bien structurée. Ce qui m'a fait me demander. Y a-t-il des avantages spécifiques pour eux d'utiliser un IFrame au lieu de l'API REST? La fonctionnalité exposée via IFrame est la sélection des produits et la récupération des prix. S'il n'y avait pas un ensemble alternatif d'API REST, j'aurais juste pensé que c'est quelque chose de très ancien, mais maintenant cela me semble être un choix intentionnel .
Qu'est-ce qui peut motiver un tel choix en 2019?
4 Réponses :
Il y a quelques années, j'utilisais PHP de manière intensive et j'utilisais beaucoup de dans mes pages. Le but était d'utiliser la balise
avec les attributs
action
et target
, afin que les formulaires n'aient pas à être soumis en AJAX, et peut être soumis d'une manière HTML plus naturelle , en particulier lorsqu'un fichier est inclus pour être téléchargé également. Cela semble être une chose courante, jusqu'à présent. Je suppose que les développeurs derrière le site Web que vous avez décrit l'utilisent pour envoyer / récupérer des données cachées.
REST est, comme on l'explique toujours, une architecture sur la façon dont les services basés sur HTTP communiquent entre eux, y compris les services frontaux et principaux. Le but d'utiliser caché comme je l'ai décrit est d'éviter d'utiliser AJAX. REST n'est pas pertinent dans ce cas. Vous pouvez toujours utiliser
masqué pour envoyer des données de manière REST. Bien sûr, si vous utilisez
avec
target
et action
, ainsi que l'attribut method
, les données qui que vous envoyez peut être au format multipart, et non JSON, à l'aide de la méthode POST. Cela ne signifie pas que REST ne peut pas être utilisé. REST peut être utilisé avec n'importe quel format de données, y compris en plusieurs parties ou même avec un code URL.
Si le développeur utilise de la manière que je viens de vous expliquer, cela pourrait être à des fins de compatibilité du navigateur. Vous n'avez pas besoin d'écrire des codes JavaScript pour soumettre le formulaire. Bien entendu, d'autres utilisations que la soumission de formulaires existent également. Donc, utiliser un
avec REST est correct. L'utilisation d'un
avec SOAP, RPC, gRPC, GraphQL est également acceptable si les données peuvent être formatées correctement. Bien sûr, comme vous l'avez dit, c'est rare. La communication avec REST se fait généralement en utilisant AJAX, WebSocket, etc.
n'est qu'un des composants que le développeur a utilisé pour prétraiter et envoyer les données au serveur. Le développeur l'utilise probablement aussi pour afficher des données ou d'autres éléments, mais si telle est l'intention initiale, cela devient de moins en moins courant et devrait être évité en raison de problèmes de sécurité.
J'utilise personnellement des iframes pour les médias, tels que YouTube.
Dans le monde de l'éducation, vous avez des «plates-formes» (systèmes de gestion de l'apprentissage comme Blackboard ou Moodle) qui sont développées pour gérer les cours en ligne.
Mais le contenu du cours peut être développé par des développeurs / entreprises distincts.
Les iFrames sont donc utilisés pour héberger du contenu tiers dans le cadre de la plate-forme.
n'est pas une balise obsolète ou obsolète. Il est toujours largement utilisé sur le Web, principalement à des fins médiatiques.
Il est également vrai que de nombreux services Web ont été mis à niveau pour ne pas admettre l'utilisation de leurs services sur une trame qu'ils peuvent détecter et c'est uniquement à des fins de sécurité, ce qui signifie que je suis presque sûr qu'il y a une raison pour laquelle ils ont utilisé ou dû utiliser la balise iframe
sur le site Web que vous mentionnez.