as the browser knows which server to contactthe url will work on the other handurls submitted outside of page ( typed into browser' address field or sent to the python urllib request module we'll revisit laterusually must be completely specifiedbecause there is no notion of prior page response script so farwe've created only static page with an input field but the submit button on this page is loaded to work magic when pressedit triggers the possibly remote program whose url is listed in the form' action optionand passes this program the input data typed by the useraccording to the form' method encoding style option on the servera python script is started to handle the form' input data while the user waits for reply on the clientthat script is shown in example - example - pp \internet\web\cgi-bin\tutor py #!/usr/bin/python ""runs on the serverreads form inputprints htmlurl=""import cgi form cgi fieldstorage(print('content-typetext/html'parse form data plus blank line html ""tutor py greetings % ""if not 'userin formprint(html 'who are you?'elseprint(html ('hello% form['user'value)as beforethis python cgi script prints html to generate response page in the client' browser but this script does bit moreit also uses the standard cgi module to parse the input data entered by the user on the prior web page (see figure - luckilythis is automatic in pythona call to the standard library cgi module' field storage class does all the work of extracting form data from the input stream and environment variablesregardless of how that data was passed--in post style stream or in get style parameters appended to the url inputs sent in both styles look the same to python scripts server-side scripting