1 / 24

Introduction to the Common Gateway Interface (CGI) on the Web

Introduction to the Common Gateway Interface (CGI) on the Web. Instructor: Joseph DiVerdi, Ph.D. CGI In Brief. CGI stands for Common Gateway Interface It allows the web server to communicate with other programs that are running on the server. For example:

marlon
Télécharger la présentation

Introduction to the Common Gateway Interface (CGI) on the Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to the Common Gateway Interface (CGI) on the Web Instructor: Joseph DiVerdi, Ph.D.

  2. CGI In Brief • CGI stands for Common Gateway Interface • It allows the web server to communicate with other programs that are running on the server. For example: • With CGI, the server causes an external program to execute while passing user-specific data to that program. • That program processes that data, sends a response back to the server which passes the response back to the browser.

  3. CGI In Brief

  4. Uses of CGI • Web Clock Changes from one viewing to another

  5. Uses of CGI • Simple Survey

  6. Uses of CGI • Simple Game

  7. Uses of CGI • Quiz

  8. Uses of CGI • Search Engine

  9. Uses of CGI • Database access

  10. Uses of CGI • Not limited to previously written documents • Enables web pages to be created on-the-fly • Based on the Users’ input • Provide users with information, collect their comments, and respond

  11. Dynamic Page Content • Page created dynamically via (Perl) script or • Page with Server Side Includes (SSI) or • Page with embedded call to (Perl) script • The result is still an HTML page

  12. Dynamically Created Image • Web Clock

  13. Dynamic Image Inclusion <HTML> <HEAD> <TITLE>Digital Clock Demo</TITLE> </HEAD> <BODY> <IMG SRC="/cgi/digital_clock.pl"> </BODY> </HTML>

  14. CGI Interaction • Operation is as follows: • Client requests a document which actually is a CGI program perhaps including some user-specific data • Server executes requested program passing data received from browser request • Program completes execution and generates a response • Server returns response to browser

  15. CGI Interaction

  16. CGI and Form Processing

  17. CGI Database Interaction • Combing the power of relational database management systems (RDBMS) with Web is very powerful. • CGI program is required to decode input, assemble query, send to database, process return data from database, and create return document.

  18. CGI Gateway to a Database

  19. Preparing to Use CGI • Create directory "cgi" in "html" directory • CaSe iS vErY iMpOrTaNt! • Ensure cgi directory has "rwxr-xr-x" access • CGI programs must be located here • Ensure programs have "rwxr-xr-x" access • Always test program with telnet client FIRST! • Test using Browser and sample HTML page

  20. Simple But Useful Program • Create a file "useful.pl" #! /usr/bin/perl -w print "Content-type: text/html\n\n"; print "Hello, CGI Programmer!<BR>\n"; exit; • Save file in "cgi" • Ensure program has "rwxr-xr-x" access • Test using telnet client • Test using browser

  21. More Useful Program • Modify the file "useful.pl" #! /usr/bin/perl -w print "Content-type: text/html\n\n"; print "Hello, CGI Programmer!<BR>\n"; print "The current time is ", scalar localtime, "<BR>\n"; print "You are using the computer named: ", $ENV{'REMOTE_HOST'}, "<BR>\n"; exit;

  22. Simple Shell Program • Create a file "env.cgi" #! /bin/sh echo "Content-type: text/html" echo env

  23. Using Others' Programs • Create a form page, e.g., Ice Cream Survey • Include the following HTML <FORM METHOD=POST ACTION="http://www.xtrsystems.com/cgi/formmail.pl" <INPUT TYPE=HIDDEN NAME="send_feedback_to" VALUE="your_email_address"> <INPUT TYPE=HIDDEN NAME="subject" VALUE="your_email_subject">

  24. Using Programs • Install formmail.pl in your account on linus • Download from class Materials Page • Upload to "cgi" directory • Check program access • Modify form HTML • Test with browser • Modify program (very carefully!!) • Have fun

More Related