Common Gateway Interface: Διαφορά μεταξύ των αναθεωρήσεων
μ r2.7.2+) (Ρομπότ: Προσθήκη: bg:CGI |
Χωρίς σύνοψη επεξεργασίας |
||
Γραμμή 1: | Γραμμή 1: | ||
Το '''CGI''' (Common Gateway Interface - μεταφράζεται ως "κοινό περιβάλλον διεπαφής") είναι μια μέθοδος επέκτασης της λειτουργικότητας του [[Εξυπηρετητής|εξυπηρετητής ιστοσελίδων]] (web server) με την δυνατότητα εκτέλεσης προγραμμάτων ή scripts. Μια κοινή χρήση του CGI είναι π.χ. μια φόρμα παραγγελίας όπου ο χρήστης στέλνει δεδομένα σε ένα CGI script |
Το '''CGI''' (Common Gateway Interface - μεταφράζεται ως "κοινό περιβάλλον διεπαφής") είναι μια μέθοδος επέκτασης της λειτουργικότητας του [[Εξυπηρετητής|εξυπηρετητής ιστοσελίδων]] (web server) με την δυνατότητα εκτέλεσης προγραμμάτων ή scripts. Μια κοινή χρήση του CGI είναι π.χ. μια φόρμα παραγγελίας όπου ο χρήστης στέλνει δεδομένα σε ένα CGI script στον εξυπηρετητή, το script επικοινωνεί με τη βάση δεδομένων και επιστρέφει τα αποτελέσματα πίσω στο χρήστη σε μια σελίδα. <ref name="w3_cgi">{{cite web | url=http://www.w3.org/CGI/ | title=CGI: Common Gateway Interface | accessdate=2012-04-12 | publisher=World Wide Web Consortium (W3C)}}</ref> |
||
Πριν την διάδοση της γλώσσας [[PHP]]/[[MySQL]] για τη δημιουργία δυναμικών ιστοσελίδων ο προγραμματιστής έπρεπε να προγραμματίσει σε γλώσσα συνήθως [[C (γλώσσα προγραμματισμού)|C]] ή [[Perl]] μικρά προγράμματα ([[γλώσσα σεναρίων|σενάρια]]) τα οποία θα εκτελούνταν από την ιστοσελίδα δια μέσου της διεπαφής CGI. Αυτά τα εκτελέσιμα προγράμματα δεν ήταν εύκολη υπόθεση να σχεδιαστούν-προγραμματιστούν |
Πριν την διάδοση της γλώσσας [[PHP]]/[[MySQL]] για τη δημιουργία δυναμικών ιστοσελίδων, ο προγραμματιστής έπρεπε να προγραμματίσει σε γλώσσα συνήθως [[C (γλώσσα προγραμματισμού)|C]] ή [[Perl]] μικρά προγράμματα ([[γλώσσα σεναρίων|σενάρια]]) τα οποία θα εκτελούνταν από την ιστοσελίδα δια μέσου της διεπαφής CGI. Αυτά τα εκτελέσιμα προγράμματα δεν ήταν εύκολη υπόθεση να σχεδιαστούν-προγραμματιστούν σε σύγκριση με τον μεταγενέστερο σχεδιασμό δυναμικών ιστοσελίδων χρησιμοποιώντας γλώσσες προγραμματισμού όπως η [[PHP]]/[[MySQL]]. <ref name="php_mysql_page1_CGI">{{cite book | title=Learning PHP & MySQL | author=Michele E. Davis, Jon A. Phillips | year=August 2007 | publisher=O' Reilly | pages=1 | isbn=978-0-596-51401-3}}</ref> |
||
===Παράδειγμα=== |
===Παράδειγμα=== |
||
Γραμμή 20: | Γραμμή 20: | ||
</syntaxhighlight> |
</syntaxhighlight> |
||
* Για παράδειγμα εάν ο [[Web browser|φυλλομετρητής]] ζητήσει από τον [[Εξυπηρετητής|εξυπηρετητή]] τις μεταβλητές του συστήματος στο <tt><nowiki>http://example.com/cgi-bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding</nowiki></tt>, σε ένα 64-bit λειτουργικό [[Microsoft Windows]] με εξυπηρετητή να τρέχει κάτω από [[cygwin]] επιστρέφονται οι παρακάτω πληροφορίες: <small> |
* Για παράδειγμα, εάν ο [[Web browser|φυλλομετρητής]] ζητήσει από τον [[Εξυπηρετητής|εξυπηρετητή]] τις μεταβλητές του συστήματος στο <tt><nowiki>http://example.com/cgi-bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding</nowiki></tt>, σε ένα 64-bit λειτουργικό [[Microsoft Windows]] με εξυπηρετητή να τρέχει κάτω από [[cygwin]] επιστρέφονται οι παρακάτω πληροφορίες: <small> |
||
COMSPEC="C:\Windows\system32\cmd.exe" |
COMSPEC="C:\Windows\system32\cmd.exe" |
||
DOCUMENT_ROOT="C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" |
DOCUMENT_ROOT="C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" |
||
Γραμμή 54: | Γραμμή 54: | ||
WINDIR="C:\Windows"</small> |
WINDIR="C:\Windows"</small> |
||
Από τις μεταβλητές περιβάλλοντος, μπορούμε να δούμε ότι ο [[Web browser|φυλλομετρητής]] είναι ο [[Firefox]] ο οποίος τρέχει σε λειτουργικό [[Windows 7]] με επεξεργαστή 64bit. Ο εξυπηρετητής είναι ο [[Apache HTTP εξυπηρετητής|Apache]] και το σύστημα |
Από τις μεταβλητές περιβάλλοντος, μπορούμε να δούμε ότι ο [[Web browser|φυλλομετρητής]] είναι ο [[Firefox]] ο οποίος τρέχει σε λειτουργικό [[Windows 7]] με επεξεργαστή 64bit. Ο εξυπηρετητής είναι ο [[Apache HTTP εξυπηρετητής|Apache]] και το σύστημα προσομοιώνει το λειτουργικό [[Unix]]. Το σενάριο CGI ονομάζεται <tt>cgi-bin/printenv.pl</tt>. |
||
== Παραπομπές == |
== Παραπομπές == |
Έκδοση από την 07:28, 30 Οκτωβρίου 2012
Το CGI (Common Gateway Interface - μεταφράζεται ως "κοινό περιβάλλον διεπαφής") είναι μια μέθοδος επέκτασης της λειτουργικότητας του εξυπηρετητής ιστοσελίδων (web server) με την δυνατότητα εκτέλεσης προγραμμάτων ή scripts. Μια κοινή χρήση του CGI είναι π.χ. μια φόρμα παραγγελίας όπου ο χρήστης στέλνει δεδομένα σε ένα CGI script στον εξυπηρετητή, το script επικοινωνεί με τη βάση δεδομένων και επιστρέφει τα αποτελέσματα πίσω στο χρήστη σε μια σελίδα. [1]
Πριν την διάδοση της γλώσσας PHP/MySQL για τη δημιουργία δυναμικών ιστοσελίδων, ο προγραμματιστής έπρεπε να προγραμματίσει σε γλώσσα συνήθως C ή Perl μικρά προγράμματα (σενάρια) τα οποία θα εκτελούνταν από την ιστοσελίδα δια μέσου της διεπαφής CGI. Αυτά τα εκτελέσιμα προγράμματα δεν ήταν εύκολη υπόθεση να σχεδιαστούν-προγραμματιστούν σε σύγκριση με τον μεταγενέστερο σχεδιασμό δυναμικών ιστοσελίδων χρησιμοποιώντας γλώσσες προγραμματισμού όπως η PHP/MySQL. [2]
Παράδειγμα
Ο παρακάτω κώδικας CGI σε γλώσσα προγραμματισμού Perl εμφανίζει όλες τις μεταβλητές που έχει ο εξυπηρετητής:
#!/usr/local/bin/perl
##
## printenv—demo CGI πρόγραμμα το οποίο τυπώνει τις μεταβλητές του συστήματος
##
#
print "Content-type: text/plain\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s/\n/\\n/g;
$val =~ s/"/\\"/g;
print "${var}=\"${val}\"\n";
}
- Για παράδειγμα, εάν ο φυλλομετρητής ζητήσει από τον εξυπηρετητή τις μεταβλητές του συστήματος στο http://example.com/cgi-bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding, σε ένα 64-bit λειτουργικό Microsoft Windows με εξυπηρετητή να τρέχει κάτω από cygwin επιστρέφονται οι παρακάτω πληροφορίες:
COMSPEC="C:\Windows\system32\cmd.exe" DOCUMENT_ROOT="C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" GATEWAY_INTERFACE="CGI/1.1" HOME="/home/SYSTEM" HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" HTTP_ACCEPT_CHARSET="ISO-8859-1,utf-8;q=0.7,*;q=0.7" HTTP_ACCEPT_ENCODING="gzip, deflate" HTTP_ACCEPT_LANGUAGE="en-us,en;q=0.5" HTTP_CONNECTION="keep-alive" HTTP_HOST="example.com" HTTP_USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0" PATH="/home/SYSTEM/bin:/bin:/cygdrive/c/progra~2/php:/cygdrive/c/windows/system32:..." PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC" PATH_INFO="/foo/bar" PATH_TRANSLATED="C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\foo\bar" QUERY_STRING="var1=value1&var2=with%20percent%20encoding" REMOTE_ADDR="127.0.0.1" REMOTE_PORT="63555" REQUEST_METHOD="GET" REQUEST_URI="/cgi-bin/printenv.pl/foo/bar?var1=value1&var2=with%20percent%20encoding" SCRIPT_FILENAME="C:/Program Files (x86)/Apache Software Foundation/Apache2.2/cgi-bin/printenv.pl" SCRIPT_NAME="/cgi-bin/printenv.pl" SERVER_ADDR="127.0.0.1" SERVER_ADMIN="(server admin's email address)" SERVER_NAME="127.0.0.1" SERVER_PORT="80" SERVER_PROTOCOL="HTTP/1.1" SERVER_SIGNATURE="" SERVER_SOFTWARE="Apache/2.2.19 (Win32) PHP/5.2.17" SYSTEMROOT="C:\Windows" TERM="cygwin" WINDIR="C:\Windows"
Από τις μεταβλητές περιβάλλοντος, μπορούμε να δούμε ότι ο φυλλομετρητής είναι ο Firefox ο οποίος τρέχει σε λειτουργικό Windows 7 με επεξεργαστή 64bit. Ο εξυπηρετητής είναι ο Apache και το σύστημα προσομοιώνει το λειτουργικό Unix. Το σενάριο CGI ονομάζεται cgi-bin/printenv.pl.
Παραπομπές
- ↑ «CGI: Common Gateway Interface». World Wide Web Consortium (W3C). Ανακτήθηκε στις 12 Απριλίου 2012.
- ↑ Michele E. Davis, Jon A. Phillips (Αυγούστου 2007). Learning PHP & MySQL. O' Reilly. σελ. 1. ISBN 978-0-596-51401-3.
Στο λήμμα αυτό έχει ενσωματωθεί κείμενο από το λήμμα Common Gateway Interface της Αγγλικής Βικιπαίδειας, η οποία διανέμεται υπό την GNU FDL και την CC-BY-SA 4.0. (ιστορικό/συντάκτες). |