Web Programming

10/27/2022

print view

Remember This?

Server side computing

We want a user to be able to run a python script through a web site.

They should be able to specify the input arguments.

They need to see the result (note this implies the python program should finish quickly).

The python script is run on the server.

http://bits.csb.pitt.edu/pgammodel/pgam.cgi

Common Gateway Interface

CGI provides a standard interface to let webservers execute programs.

http://bits.csb.pitt.edu/pgammodel/pgam.cgi

pgam.cgi is a python script, but because it has the .cgi extension, instead of displaying the contents of the file, the web server displays the output of running the script.

This means the output of pgam.cgi needs to be a valid HTML response.

Configuring CGI

Most web servers will have CGI disabled by default (or only enable in a specific directory like cgi-bin).

https://httpd.apache.org/docs/2.4/howto/cgi.html#configuring

For apache you have to

  1. Enable the cgi module
  2. Allow CGI execution in a given directory
  3. Specify what extensions should be treated as cgi scripts

Example apache configuration file:

 <Directory "/usr/local/apache2/htdocs/somedir">
    Options +ExecCGI
    AddHandler cgi-script .cgi .py
</Directory>

.htaccess

Apache (and other web servers) can dynamically apply options to a directory based on the contents of a .htaccess file in that directory (this feature has to be enabled by the server administrator).

$ cat .htaccess 
AddHandler cgi-script .py .cgi
Options +ExecCGI +Indexes

https://httpd.apache.org/docs/2.4/howto/htaccess.html

Common Problems

Debugging CGI programs is annoying, as you are not running the program, the webserver is. If there's a problem, the error message returned to the user in the browser is usually generic. More informative error messages might be in the logs of the webserver.

  • The code of the script displays instead of the output
    • Is CGI enabled on the server?
    • Is it enabled on the directory with the script and are the correct handlers configured?
    • If a .htaccess file is being used to configure, is the server setup to allow such configuration?
  • Internal Server Error
    • Look in /var/log/apache2/error.log
    • Does the script have the right permissions (must be executable by the webserver user)?
    • Does the script print the correct HTTP response lines as its first two lines? (if not, will get malformed header error)
    • Does it run as a standalone script (it starts with #!/usr/bin/env python)?
    • Does the script have a syntax error? Try running it directly

Debugging CGI

To aid in the debugging of python errors, enable cgitb, which will (sometimes) show the errors in the browser instead of the log files.

https://docs.python.org/3/library/cgitb.html

CGI Input

Values are provided to CGI programs through GET and PUT requests, most likely those generated using form data.

<form action="pgam.cgi" style="vertical-align:top">
<fieldset>
<legend>INH</legend>
<label for=i1>PGM kf</label> <input id=l1 size=8 type="text" name="PGM_INHkf" value="0.3">
<label for=i2>PGM kr</label> <input id=l2 size=8 type="text" name="PGM_INHkr" value="0.2">
<label for=i1>ENO kf</label> <input id=l1 size=8 type="text" name="ENO_INHkf" value="0.0">
<label for=i2>ENO kr</label> <input id=l2 size=8 type="text" name="ENO_INHkr" value="0.0">
<label for=i1>PKM kf</label> <input id=l1 size=8 type="text" name="PKM_INHkf" value="0.0">
<label for=i2>PKM kr</label> <input id=l2 size=8 type="text" name="PKM_INHkr" value="0.0">
<label for=i1>LDH kf</label> <input id=l1 size=8 type="text" name="LDH_INHkf" value="0.0">
<label for=i2>LDH kr</label> <input id=l2 size=8 type="text" name="LDH_INHkr" value="0.0">
</fieldset>

http://bits.csb.pitt.edu/pgammodel/pgam.cgi?PGM_INHkf=0.3&PGM_INHkr=0.2&ENO_INHkf=0.0&ENO_INHkr=0.0&PKM_INHkf=0.0&PKM_INHkr=0.0&LDH_INHkf=0.0&LDH_INHkr=0.0

CGI Input

These values can be accessed through the cgi module (what is happening behind the scenes as they are being set as environment variables before the script is called).

The name from the input element becomes a field.

FieldStorage

  • Acts a dictionary (e.g. form['PKM_INHkf']), this returns another FieldStorage object
  • .getvalue(name) return value(s) corresponding to name (list if multiple such values)
  • .getlist(name) same, but always returns list
  • .getfirst(name,default) always returns a single value, default if name doesn't exist

If an item is a file upload (<input type=file>), getvalue will return contents of object. Can also get file object:

CGI Output

The stdout of the script becomes the source of the web page, but what about images?

  • Can create images on the server and reference their URLs
    • could result in a lot of images being generated (archival)
    • images viewable by anyone with the URL
    • need to be able to write to server
  • Can embed images using base64
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAADhCAAAAABXF9d3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAABIAAAASABGyWs+AACAAElEQVR42kz9WcxmWXYdiO3hnHOHb/znIeaInCuniMisYhWrWCxKokiKYlMSJbVkGW7DsA214Yd+8IP9ZMMPhtGGgYZhoN0PBhrdaHW3KbUlSyREkRRVA+eaM7Nyjnn45/8b7nSGvf1wvz/V+ZJIRERmxol79ll77bXW5n/8zjt377x79867d758+9137r7z9pffuXP33Tvv3Hnn7p13796++87dO3fvvnP7zu07t+++fff2ndt33r57p//r7bt379y5c/vO27dvv/3W7Tvv3L5z5+7tu3fu3L5799133/3yl7/8la+8+867X/vG17/xzV/81je//OZW99qddmsyvrb/wtp0f333bZttb15ZXx9N1rfWhtONjUuXdvLJpJyOR+VmPlxbW98d23E52VsflYPReDzZ3t8dbkzX9269vLn7zbf3983GXrmzP97YKYej6aa9+crohVdez7f3bn3zN3/tr7ye/hffqN587c7dO19/+63x23+fv/y33vqll7/11379S//wzVfe+vW/8td/7f/+n/2f/o//+//zP7j+H7796q++M375hVG+PpmM16bTze3paDgd705f3h6vTde2t7YvbW9d3rnM7yIAIRICIAAJASCgIigCCAEKggIqICABgCABIACs/hEAEBSVSBEBlYEQ+38fEIIiITIgMdfSusHTAWWlRd84GuDMQZbXqRajIAwRWZMtkkE1Ss4SAJIlx2zJERt2bbeWaZlTywMxVRCbTNZ1rKQYsYjlnrWVDhc6kr3T99648b46Ws+GSK/Nl+vm+rQ9rItWr9BJRhvdcLi/Dwhklx8+2LftUXd2zCJAiEhGEiDZtOlrVCHDJJRFy19OAEoKQEr9b50ABBFJUZBACQAFGIAQVQAJVLE/OQIBREIgUERFBSAkBCJEAlAEUDCGCAm1g1AN14+ICpIoQTFvhPJpoqWoM0lTwEQO0QGmsBVrJdTgEESEhpyQE3VoYEDkyECYxcszMX7YnqUsYEgxbWcy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">

Client Side Processing

Alternatively, as is the case with pgam.cgi, we can generate visualizations on the client side.

  • Generate data on the server
  • Visualize the data using the browser - supports fast user interaction

This means we must write some JavaScript

http://bits.csb.pitt.edu/pgammodel/pgam.cgi

Example (snippet)

Example (snippet)

The Web Page

The CGI Script

Data Storage and you

If you have large datasets, please don't store them in American Standard Code for Information Interchange (ASCII)

Use a binary format you want