250 likes | 337 Views
Managing Web Site Data. CS 320. Web Site Data. How do computer programs store data? Main memory: volatile Disk: permanent By definition, Web pages are stateless and do not store data. Browser Session. Begins when the user opens the browser and connects to a site
E N D
Managing Web Site Data CS 320
Web Site Data • How do computer programs store data? • Main memory: volatile • Disk: permanent • By definition, Web pages are stateless and do not store data
Browser Session • Begins when the user opens the browser and connects to a site • Ends when the user navigates to a new page or closes the browser • All input data is lost... • What kind of data might you want to store across pages during a single visit to a Web site? • What kind of data might you want to store across multiple visits to the same Web site?
Approaches for Storing Web Page Data • Between Web pages in the same visit: • Session variables • Temporary cookies • Across multiple visits to a site: • Persistent cookies • Databases
Specific Topics • Session variables • Cookies • Databases
Session Variables • When you request a Web page, the Web server creates a session object corresponding to your browser session • This information is stored in the Web server's main memory • Sessions have attributes that you can retrieve and display using program commands
Session Variables • A program running on the Web server can create session variablesthat store data values associated with a specific browser session • Values are stored in Web server RAM and associated with the session object
Session Timeout Intervals • By default, server/browser sessions "time out" (close) after a specific period of inactivity: • Microsoft IIS: 20 minutes • Tomcat: 30 minutes • You can change these values to longer/shorter ones • At that point, the session closes and the session object is destroyed • All session variable data is lost!
Limitations of Session Variables • Usually have a limited size • Often limited to a maximum size of 300 characters • Values are lost when the session ends or times out
Specific Topics • Session variables • Cookies • Databases
What is a Cookie? • Data item stored on the client workstation • Can (theoretically) be read/modified only by Web pages associated with the same Web server domain that originally created it • Cookie types: • Temporary (session): only lasts during the current session • Stored in client (browser) RAM • Can be read only in current browser session • Persistent: stores data in the client file system that is available across multiple browser sessions
Cookie Data Structure • Name/value pairs: cookie_name=cookie_value • Example: currUsername="morrisjp"
Cookie Options • Client-side • Created using JavaScript • Server-side • Created using a server-side program
Limitations of Cookies • Typically, browsers have limits on persistent cookies: • Maximum of 20 cookies per Web site • Maximum of 300 cookies total • Each cookie can store a maximum of 4 KB of data...
More Limitations of Cookies • Stored locally • If you use multiple computers, you will have different sets of cookies • Possibility of: • Information theft • Cookie poisoning • Other Web sites change cookie contents • Profiling • Marketers create cookies that are shared among sites • Users can disable cookies in their browser
Specific Topics • Session variables • Cookies • Databases
What is a database? • Program for storing data • Structures data in a tabular format • Maintains relationships among data items • Example: customers make reservations • Has built-in programs to perform the basic data handling tasks • Insert, update, delete, retrieve • Has built-in features for managing multiple users, security, backups, etc.
Web/Database Architecture Client workstations Web server(s) Database server Browser Data Base Browser Server-Side Programs Network Network Browser Commonly-used: • mySQL • Access • SQL Server • Oracle Programs that: • Form queries based on user inputs • Display retrieved data • Insert/update/delete user data
When does a Web site need a database? • When the site needs to collect and store data from site users • Usernames/passwords for site access • Product selection and shipping information • User inputs that need to be visible to other users
Test Yourself:For an Ecommerce Web site, what would you use to store a user's shipping information (name, address)? • Session variables • Temporary cookie • Persistent cookie • Database • None of the above
Test Yourself:For an Ecommerce Web site, what would you use to store a user's shipping information (name, address)? • Session variables • Temporary cookie • Persistent cookie • Database • None of the above
Test Yourself:For an Ecommerce Web site, what would you use to store a user's shopping cart contents? • Session variables • Temporary cookie • Persistent cookie • Database • None of the above
Test Yourself:For an Ecommerce Web site, what would you use to store a user's shopping cart contents? • Session variables • Temporary cookie • Persistent cookie • Database • None of the above
Test Yourself:For an Ecommerce Web site, what would you use to store a user's credit card information? • Session variables • Temporary cookie • Persistent cookie • Database • None of the above
Test Yourself:For an Ecommerce Web site, what would you use to store a user's credit card information? • Session variables • Temporary cookie • Persistent cookie • Database • None of the above