Sesjoner er et overbygg over cookies, som lagrer en liten bit data i en cookie hos klienten, og (potensielt) et tonn med data på serveren.
1| #!/usr/bin/ruby 2| require 'cgi' 3| require 'cgi/session' 4| c = CGI.new('html4') 5| sesjon = CGI::Session.new( c, 6| 'session_key' => 'rubywebnuby2', 7| 'prefix' => 'ruby_sesjon.') 8| 9| # Hent ut antall besøk fra sesjonen 10| antall_tekst = sesjon['AntallBesok'] 11| antall_besok = (antall_tekst ? antall_tekst.to_i+1 : 0) 12| 13| # Sett det nye antallet tilbake i sesjonen 14| sesjon['AntallBesok'] = antall_besok 15| 16| c.out do 17| c.html do 18| c.body do 19| "Du har vært her #{antall_besok} ganger før." 20| end 21| end 22| end 23| 24| sesjon.close # Sikre at sesjonsdata lagres på serveren. |
Da har vi iallfall fått lagret en god del mer på serversiden, og høyde, alder, øyenfarge, samt en million "theme"-innstillinger for webapplikasjonen vår må ikke sendes over nettet hver gang en side hentes.