• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • L'une des compétences essentielles pour un développeur et un administrateur système est de déboguer l'application, l'API ou les services, et connaître les bons outils est une bouée de sauvetage.

    Qu'est-ce que le débogage?

    Si vous regardez des drames policiers, l'idée derrière le débogage ne vous sera pas étrangère. Le débogage est un processus et implique de nombreuses tactiques. C'est la recherche systématique et la résolution des problèmes et des erreurs au sein d'un programme.

    En outre, le débogage trie tous les problèmes qui peuvent empêcher le bon fonctionnement du logiciel ou, dans ce cas, de l'application Web. Le processus de débogage de votre API ou une application Web implique principalement une tentative de reproduire le problème.

    Par conséquent, la nécessité d'envoyer une requête API apparaît. Maintenant, c'est là que réside le problème. La plupart des navigateurs vous empêcheront de modifier l'en-tête d'origine, et même les limites de taille d'URL.

    En d'autres termes, pour reproduire le problème, vous devrez peut-être effectuer certaines manipulations HTTP. Et cela nécessitera des outils de débogage puissants.

    Tous les composants ou tactiques du processus de débogage comprennent;

    • Débogage interactif
    • Analyse du flux de contrôle
    • Tests unitaires
    • Test d'intégration
    • Analyse du fichier journal
    • La surveillance
    • Les vidages de mémoire
    • Profilage

    Il est intéressant de savoir que certains clients HTTP, c'est-à-dire les navigateurs Web, ont des outils de développement Web intégrés. Ces outils peuvent être utilisés pour déboguer les API. Dans cet esprit, il n'est pas nécessaire d'écrire votre outil de débogage.

    Qu'est-ce que le client HTTP?

    Supposons que vous envisagiez de créer un système qui exploite le protocole HTTP pour la communication distribuée ou compatible HTTP, comme une application Web. Ensuite, vous voudrez peut-être regarder le composant client HTTP.

    Le protocole HTTP, ou HyperText Transfer Protocol, est la raison pour laquelle vous pouvez communiquer ou transférer des données sur le Web, chaque fois que vous saisissez une URL. C'est un protocole d'application qui permet de naviguer sur Internet.

    Désormais, le client HTTP est un système qui envoie des requêtes à un serveur au format texte HTTP, et à son tour, reçoit une réponse du même serveur.

    Il est essentiel de connaître les différences entre un client HTTP et le serveur HTTP.

    Différences entre le client et le serveur HTTP

    Alors que le client HTTP est souvent un navigateur Web ou un utilitaire, les serveurs HTTP agissent comme des proxys pour les serveurs d'applications.

    En termes plus simples, vos smartphones, téléviseurs, PlayStation, en fait tout appareil pouvant se connecter à Internet, utilise probablement un client HTTP.

    De même, le serveur HTTP est l'ordinateur réseau auquel le client HTTP se connecte. La relation qu'ils partagent est davantage une relation de conversation. Où le client HTTP envoie une demande et le serveur HTTP répond.

    Exemples de requêtes HTTP

    Demandes Résultats
    ÉCONOMISEZ Demande la ressource entière
    TÊTE Demande une ressource sans le corps
    POSTEZ Ajoute du contenu à une ressource Web existante
    PUT Modifie une ressource Web existante
    EFFACER Supprime une ressource spécifiée
    TRACE Affiche les modifications apportées à une ressource Web
    OPTIONS Affiche les méthodes HTTP disponibles pour l'URL
    SE CONNECTER Convertit la connexion de demande en un tunnel TCP / IP transparent
    PATCH Modifie partiellement une ressource Web

    Déboguer le Web n'a jamais été aussi simple. Avec ces outils, vous pouvez enfin vous détendre pendant que vous faites ce que vous aimez.

    HTTPie

    Le but ultime de HTTPie est de rendre l'interaction CLI avec l'interface utilisateur des services Web conviviale. Cet outil fournit une commande HTTP pour l'envoi de requêtes, le tout avec l'utilisation d'une syntaxe naturelle.

    HTTPie peut être utilisé pour le débogage, les tests et la connexion avec des serveurs HTTP. Il prend en charge HTTP, HTTPS et les proxys.

    Points forts

    • Système de support JSON intégré
    • Peut être installé sur Windows, macOS et Linux
    • En-têtes et méthode HTTP personnalisés
    • Soumettre des formulaires
    • Mode hors connexion
    • Authentification de base et Digest
    • Syntaxe intuitive

    Vous ne voulez pas installer HTTPie localement?

    Pas de soucis, maintenant tu peux l'exécuter en ligne.

    Violoneux

    Violoneux est un proxy de débogage Web multiplateforme. Il peut aider à manipuler les sessions Web, inspecter le trafic HTTPS et surveiller le trafic entre votre ordinateur et Internet.

    Vous pouvez installer Fiddler sur Windows, macOS et Linux. C'est probablement l'outil le plus populaire pour déboguer le trafic.

    RESTer

    RESTer est disponible en tant qu'extension pour Google Chrome et Firefox.

    Points forts

    • En-têtes d'autorisation avec authentification de base ou Auth2
    • Afficher l'historique des demandes
    • Exécuter des demandes avec n'importe quelle méthode, URL, corps et en-têtes personnalisés
    • Test et débogage des API

    Patte

    Patte est un client HTTP complet, qui vous permet d'envoyer toutes sortes de requêtes HTTP. Avec Paw, vous pouvez tester vos API et en explorer de nouvelles.

    Paw est exclusivement conçu pour MacOSet il possède des fonctionnalités faciles à utiliser. Vous pouvez importer et générer des swagger, RAML, etc. et il prend en charge le schéma JSON.

    Points forts

    • Prend en charge plusieurs authentifications telles que basic, OAuth, hawk, digest
    • Valeurs dynamiques
    • <span style="font-size:13px;">Environnements</span>
    • Extension via des extensions basées sur des scripts Java
    • Cookies et manipulation de session

    Demandeur

    Demandeur est un client robuste qui combine les fonctionnalités de HTTPie, Postman et Paw. Cela fonctionne uniquement avec l'éditeur de texte Sublime.

    Points forts

    • Prend en charge JSON Schemer
    • Demander des collections et l'historique
    • Sortie colorisée avec coloration syntaxique
    • UX moderne
    • Les cookies, les en-têtes personnalisés, le corps de la requête et les paramètres de requête sont faciles à définir.
    • Prise en charge de GraphQL

    Facteur

    Vous travaillez toujours sur les API?

    Vous tomberez amoureux de Postman.

    Facteur est sans conteste l'un des clients HTTP les plus populaires utilisés pour le débogage des applications Web. Il permet un développement d'API plus rapide et plus facile.

    Points forts

    • Emballe une interface graphique puissante, avec une interface conviviale
    • Historique des demandes
    • Test automatisé avec collection runner
    • Surveillance flexible des API
    • Soutenir REST, GraphQL, SOAP
    • Prise en charge de plusieurs charges utiles, notamment JSON et HTML

    cURL

    cURL est un outil de ligne de commande utilisé pour envoyer des données à l'aide de la syntaxe URL.

    La bonne chose, cURL est par défaut installé sur la plupart des systèmes d'exploitation UNIX. Il prend en charge de nombreux protocoles, notamment FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS et SCP.

    Proxy Charles

    Comme son nom l'indique, Charles proxy est un proxy HTTP et inverse. Il fonctionne en acheminant le trafic local à travers lui.

    Vous pouvez utiliser Charles pour le proxy SSL, la limitation de la bande passante, le débogage AJAX, les points d'arrêt, etc.

    Sifflet

    Sifflet est un outil de débogage multiplateforme basé sur NodeJS pour capturer et manipuler le trafic HTTP, HTTPS, WebSocket et TCP.

    Tout d'abord, vous devez installer NodeJS puis Whistle en utilisant npm.

    npm install -g whistle

    Vous pouvez toujours étendre les fonctionnalités avec le plugin si les fonctionnalités par défaut ne correspondent pas à vos besoins.

    mitmproxy

    mitmproxy est un proxy HTTPS open source populaire parmi les chercheurs en sécurité. Utilisez-le comme API CLI, Web ou Python.

    L'interface Web vous donne l'apparence des outils de développement Chrome. Il prend également en charge HTTP / 2.

    Mandataire

    Similaire à la patte mentionnée ci-dessus, Mandataire est une application proxy de débogage Web macOS native premium.

    Il agit comme un intermédiaire pour le trafic Web et offre de nombreuses fonctionnalités, dont les suivantes.

    • Proxy SSL
    • Répéter les demandes
    • Protobuf
    • Réécrire les scripts
    • Carte locale et distante
    • Le filtrage de contenu
    • Mise en évidence de la syntaxe

    Proxyman UI est très convivial pour les humains.

    Boîte à outils HTTP

    Boîte à outils HTTP est un débogueur HTTP open source. C'est une application de bureau disponible pour Windows, Mac et Linux.

    Contrairement aux autres débogueurs HTTP, HTTP Toolkit fournit une interception ciblée automatiquement pour des clients spécifiques, y compris la configuration HTTPS, plutôt que d'intercepter tout de votre ordinateur entier, et évite ainsi de capturer un trafic non pertinent ou de perturber d'autres applications.

    En un seul clic, vous pouvez intercepter les fenêtres du navigateur (y compris Chrome, Firefox, etc.), les langages de backend / de script comme Node.js, Python et PHP, tous les outils de ligne de commande, les applications Electron ou les appareils et émulateurs Android (y compris le système- niveau d'interception HTTPS).

    HTTP Toolkit prend en charge les fonctionnalités de débogage HTTP standard, y compris les points d'arrêt et la réécriture du trafic HTTP (S), le filtrage et la recherche du trafic collecté, ainsi que la mise en évidence et la mise en forme automatique pour de nombreux formats de corps de demande et de réponse populaires. Les fonctionnalités de base pour intercepter, inspecter et réécrire HTTP (S) sont toutes disponibles gratuitement, tandis que certaines fonctionnalités premium avancées telles que l'importation / exportation et les règles de simulation automatisées nécessitent un compte payant.

    Conclusion

    Les clients HTTP et le proxy de débogage Web ci-dessus peuvent vous aider de plusieurs manières. La plupart d'entre eux sont gratuits ou proposent un essai, alors essayez-en quelques-uns pour voir ce qui fonctionne pour vous.

    Heureux dépannage!