Que sont les scripts CGI et comment améliorent-ils les sites Web?

Que sont les scripts CGI et comment améliorent-ils les sites Web? / La programmation

CGI représente Interface de passerelle commune. C'est un protocole standard permettant aux serveurs Web d'exécuter des programmes et de générer des sorties pour les navigateurs Web. Les meilleurs navigateurs Web pour Windows Les meilleurs navigateurs Web pour Windows Quel est votre navigateur Web par défaut? Même si nous n'avons que l'embarras du choix, la majorité d'entre nous reste fidèle aux grands acteurs qui ont fait leurs preuves. Quelles sont les meilleures alternatives pour l'utilisation des ressources, la rapidité et la sécurité? Lire la suite . Le programme est appelé un programme CGI (ou un script CGI Gagnez du temps et des efforts en automatisant GIMP avec des scripts Gagnez du temps et des efforts en automatisant GIMP avec des scripts Automatiser des actions avec des scripts Python dans GIMP peut vous faire gagner beaucoup de temps. pas facile de commencer, mais une fois que vous connaissez ces bases, vous serez bien sur votre chemin! Lire la suite). Il s'exécute pour le compte du serveur Web afin de produire une sortie lorsqu'une URL particulière est demandée par le navigateur Web de l'utilisateur..

Avantages des CGI

Un CGI améliore un site Web à bien des égards. De l'authentification d'un utilisateur à la fourniture d'une application de magasinage à grande échelle, les CGI sont au cœur de la création d'un site Web dynamique et interactif. Voici quelques-uns des principaux avantages de l’utilisation des CGI pour améliorer l’expérience utilisateur..

  • Personnalisé à l'utilisateur: La sortie peut être personnalisée pour chaque utilisateur. Par exemple, un utilisateur peut vérifier les soldes de son compte bancaire, qu'il peut être nécessaire d'extraire de la base de données..
  • Autres types de personnalisation: L'utilisateur peut utiliser un téléphone mobile pour accéder au site Web et la sortie doit être ajustée pour la résolution du téléphone mobile..
  • Faire des mises à jour: Une mise à jour est effectuée à la suite d'un formulaire POST (expliqué ci-dessous). Par exemple, vous pouvez mettre à jour votre statut Facebook.
  • Téléchargement de fichiers: Un fichier téléchargé par un utilisateur a besoin d'une CGI côté serveur pour gérer la demande de téléchargement de fichier afin de stocker le fichier dans un emplacement particulier..
  • Production de sortie: En plus des sorties affichées dans le navigateur, de nombreux sites Web offrent des formes de sorties supplémentaires, telles que Document Word, PDF, etc. Certains de ces documents peuvent avoir besoin d'être générés à la volée par des CGI, tels que votre facture téléphonique ou votre relevé de carte de crédit..

Traitement de fichiers statiques et CGI

Un fichier HTML 17 Exemples de codes HTML simples à apprendre en 10 minutes 17 Exemples de codes HTML simples à 10 minutes Si vous connaissez les 17 balises HTML suivantes (et les quelques-unes qui les accompagnent), vous pourrez: créez une page Web de base à partir de zéro ou modifiez le code créé par une application telle que… En savoir plus (ainsi que JavaScript Java vs JavaScript: tout ce que vous devez savoir Java contre JavaScript: tout ce que vous devez savoir Java et le Javascript partagent certaines choses En savoir plus et CSS 10 Exemples de codes CSS simples à apprendre en 10 minutes 10 Exemples de codes CSS simples à lire Vous pouvez apprendre en 10 minutes Nous allons voir comment créer une feuille de style intégrée pour vous permettre de mettre en pratique vos compétences en CSS. Nous passerons ensuite à 10 exemples CSS de base. À partir de là, votre imagination est la limite! En savoir plus) est servie directement par le serveur web. En revanche, un programme CGI est exécuté par le serveur Web lorsqu'une URL particulière est demandée. Il est utilisé pour répondre aux demandes nécessitant un accès à des informations dynamiques, telles que celles résidant dans une base de données. Un exemple serait l'authentification d'un utilisateur pour autoriser l'accès: le nom d'utilisateur et le mot de passe pourraient être stockés dans une base de données, et une demande de validation de l'utilisateur devrait accéder à ces informations. Pour traiter cette demande, le serveur Web exécuterait un programme CGI qui rechercherait les informations et validerait l'utilisateur..

Configuration de serveurs Web

Un serveur Web exécute un logiciel de serveur HTTP qui offre la possibilité de servir des fichiers HTML, ainsi que d'exécuter des programmes CGI pour générer une sortie à la volée. Le logiciel du serveur HTTP est configuré par l'administrateur du serveur Web pour exécuter des programmes spécifiques lorsque des URL correspondant à des modèles spécifiques sont demandées..

Exécuter des CGI

Lorsque le navigateur d'un utilisateur envoie une requête à une URL particulière, le navigateur envoie toute une série d'informations, sous la forme d'en-têtes HTTP et éventuellement du corps HTTP. Certaines de ces choses peuvent inclure:

  • Le type de navigateur
  • Le nom de l'utilisateur s'il s'est connecté
  • Tous les cookies précédemment stockés par le serveur Web
  • Variables de formulaire si la requête est une requête POST

Lorsqu'un fichier CGI est exécuté pour répondre à cette demande, le serveur transmet toutes ces informations au programme CGI. Le CGI peut utiliser tout ou partie de ces informations pour traiter la demande et personnaliser la sortie pour l'utilisateur.

Traitement des POST de formulaire

Une utilisation principale des CGI est de traiter des formulaires HTML.

Un formulaire HTML est un dispositif d'interaction utilisateur et fournit une variété de contrôles permettant à l'utilisateur de saisir des informations. Lorsque l'utilisateur clique sur un Soumettre bouton (ou quelque chose de similaire) sur le formulaire, le navigateur Web regroupe les informations du formulaire et les envoie à l'URL cible indiquée dans le formulaire. Le serveur Web, à son tour, appelle généralement un programme CGI et envoie toutes les entrées collectées auprès de l'utilisateur. Cette interaction s'appelle un formulaire POST, terme technique indiquant la méthode d'envoi du contenu du formulaire au CGI. Le CGI traite le contenu du formulaire et produit une réponse appropriée à envoyer au navigateur..

Un exemple de CGI

Voici un exemple de programme CGI écrit en python 5 raisons pour lesquelles la programmation Python n'est pas inutile 5 raisons pour lesquelles la programmation Python n'est pas inutile Python - Vous l'aimez ou vous le détestez. Vous pouvez même basculer d'un bout à l'autre comme un pendule. Quoi qu'il en soit, Python est un langage sur lequel il est difficile d'être ambivalent. Lire la suite . Il peut être déployé sur un serveur Web de manière à ce qu'il soit accessible à partir d'une URL similaire à celle-ci: http://www.example.com/cgi-bin/env.cgi. Lorsqu'il est appelé, le CGI rapporte toutes les variables qu'il a reçues dans son environnement à partir du serveur Web. C’est aussi simple qu’un programme CGI peut obtenir.

#! / usr / bin / python import os print "Type de contenu: text / plain \ n" pour la clé dans os.environ: clé d'impression, "=> \" ", os.environ [clé]," \ "" 

L'évolution des CGI

Les CGI font partie des serveurs Web depuis presque le début du Web. Le tout premier serveur Web, le serveur Web NCSA HTTPd, a débuté avec la prise en charge du traitement des fichiers statiques uniquement. Par la suite, il a été reconnu que l’exécution d’un script en réponse à une demande d’URL permettait au serveur Web de générer un contenu dynamique, et la spécification CGI était née..

Les premiers programmes CGI étaient des scripts simples écrits dans un langage tel que Perl, TCL, Shell, etc. Il pouvait également être écrit dans un langage compilé tel que C / C ++, mais cela nécessitait une étape supplémentaire de compilation du programme pour créer l'exécutable. CGI.

À mesure que les CGI devenaient de plus en plus complexes et que les exigences des utilisateurs augmentaient. Création d'interfaces Web: par où commencer Créer des interfaces de Web: par quoi commencer faites-vous un concepteur de sites Web du 21e siècle. En savoir plus, il a été reconnu que la création d’un processus CGI distinct pour traiter chaque demande était un peu trop lourde en termes de surcharge de mémoire et de temps processeur. Surtout lorsque le traitement de la demande prend moins de temps que la surcharge liée à la création d'un nouveau processus.

À ce stade, les serveurs Web ont commencé à intégrer des interpréteurs de script complets afin que les demandes des utilisateurs puissent être traitées de manière distincte. fil dans un processus de serveur Web unique. Cela a amélioré l'efficacité du traitement des demandes et réduit les temps de réponse.

Cela a coïncidé avec l’arrivée de nouveaux langages spécialement conçus pour le Web, tels que PHP. L'interprète PHP a commencé sa vie en tant que programme CGI. Dans le cadre du traitement de la demande, il analyse le fichier demandé pour les directives PHP et exécute les commandes qu'il contient..

Aujourd'hui, en plus des scripts CGI, de nombreuses technologies sont utilisées pour exécuter du code sur le serveur en réponse à une requête..

Utilisez-vous des scripts CGI dans une partie du site Web de votre entreprise? Avez-vous rencontré des problèmes particuliers lors du déploiement ou de la maintenance des scripts CGI? Discuter ci-dessous dans les commentaires.

En savoir plus sur: Développement Web.