input pages sent as replies are two simple ways for cgi script to pass data to the next script in the application when clicked or submittedsuch parameters send preprogrammed selection or session information back to another server-side handler script in sensethe content of the generated reply page itself becomes the memory space of the application for examplea site that lets you read your email may present you with list of viewable email messagesimplemented in html as list of hyperlinks generated by another script each hyperlink might include the name of the message viewer scriptalong with parameters identifying the selected message numberemail server nameand so on-as much data as is needed to fetch the message associated with particular link retail site may instead serve up generated list of product linkseach of which triggers hardcoded hyperlink containing the product numberits priceand so on alternativelythe purchase page at retail site may embed the product selected in prior page as hidden form fields in factone of the main reasons for showing the techniques in the last two sections is that we're going to use them extensively in the larger case study in the next for instancewe'll use generated stateful urls with query parameters to implement lists of dynamically generated selections that "knowwhat to do when clicked hidden form fields will also be deployed to pass user login data to the next page' script from more general perspectiveboth techniques are ways to retain state information between pages--they can be used to direct the action of the next script to be run generating url parameters and hidden form fields works well for retaining state information across pages during single session of interaction some scenarios require morethough for instancewhat if we want to remember user' login name from session to sessionor what if we need to keep track of pages at our site visited by user in the pastbecause such information must be longer lived than the pages of single session of interactionquery parameters and hidden form fields won' suffice in some casesthe required state information might also be too large to embed in reply page' html in generalthere are variety of ways to pass or retain state information between cgi script executions and across sessions of interactionurl query parameters session state embedded in generated reply pages hidden form fields session state embedded in generated reply pages cookies smaller information stored on the client that may span sessions server-side databases larger information that might span sessions saving state information in cgi scripts