Πίνακας περιεχομένων:
- Ορισμός - Τι σημαίνει η Κοινή Διασύνδεση Πύλης (CGI);
- Η Techopedia εξηγεί τη διεπαφή Common Gateway Interface (CGI)
Ορισμός - Τι σημαίνει η Κοινή Διασύνδεση Πύλης (CGI);
Η Κοινή Διασύνδεση Πύλης (CGI), στο πλαίσιο της ανάπτυξης ιστού, είναι μια διεπαφή για την εκτέλεση εκτελέσιμων αρχείων μέσω ενός web-server. Στις περισσότερες περιπτώσεις, αυτό σημαίνει ότι λαμβάνετε ένα αίτημα HTTP και το μεταφέρετε σε μια εφαρμογή, προκειμένου να παραδώσει μια σελίδα HTML που δημιουργείται δυναμικά πίσω σε ένα πρόγραμμα περιήγησης. Παρόλο που σχεδόν οποιοδήποτε πρόγραμμα που μπορεί να τρέξει σε έναν web server είναι χρησιμοποιήσιμο ως σενάριο CGI, η Perl είναι η πιο δημοφιλής γλώσσα.
Το πρότυπο για το CGI ορίζεται στο RFC 3875.
Η Techopedia εξηγεί τη διεπαφή Common Gateway Interface (CGI)
Στις πρώτες ημέρες ανάπτυξης ιστοσελίδων, ο CGI ήταν ένας από τους λίγους τρόπους για την παροχή διαδραστικότητας σε μια εφαρμογή ιστού. Ήταν πιο συνηθισμένο στο Apache, αλλά γίνονταν και λιμάνια για να τρέχουν CGI σε IIS επίσης.
Η συνηθέστερη χρήση του CGI χρησιμοποιεί γλώσσες δέσμης ενεργειών, επομένως είναι συνηθισμένο να αναφερόμαστε σε αυτό ως εκτέλεση δέσμης ενεργειών CGI. Τα προγράμματα και τα σενάρια CGI συλλέγονται συνήθως σε ένα φάκελο που ονομάζεται / cgi-bin /.
Το κύριο μειονέκτημα του CGI είναι ότι κάθε φόρτωση σελίδας προκαλεί επιβάρυνση φορτώνοντας τα προγράμματα στη μνήμη. Τα δεδομένα δεν μπορούν εύκολα να αποθηκευτούν στη μνήμη μεταξύ των φορτίων της σελίδας. Λόγω αυτού του μειονεκτήματος, πολλοί προγραμματιστές έχουν μετακινηθεί σε διακομιστές εφαρμογών που παραμένουν σε λειτουργία. Ωστόσο, υπάρχει μια τεράστια υπάρχουσα βάση κώδικα, μεγάλο μέρος της στην Perl. Οι υποστηρικτές του CGI υποστηρίζουν ότι είναι απλός, σταθερός και μια καλή επιλογή για ορισμένες εφαρμογές, ειδικά με καθήκοντα όπου Perl υπερέχει, όπως το χειρισμό κειμένου. Οι εναλλακτικές λύσεις αποφεύγουν επίσης τη φόρτωση στο χρόνο εκτέλεσης Perl ή PHP για κάθε αίτημα, συμπεριλαμβάνοντας τον χρόνο εκτέλεσης στον διακομιστή ιστού (mod_perl και mod_php στο Apache) ή άλλες λύσεις όπως το FastCGI (ξεχωριστές διαδικασίες που χειρίζονται πολλαπλά αιτήματα).
