Paul Rogers' Website Home Page Click for Paul's home page

Tips for web surfers.

About my site.

Understanding how the Web Works.

Stateless doesn't mean refugee.

The first thing to understand is that the basic interaction between a web server and your browser client is "stateless". There is no context from the server's point of view. Your browser asks for a page by its address/URL, "Uniform Resource Locator", the server shoves it out the door, and it's done. If you think about it, this is the only way anything as large as the web can work. There's no possible way any server could keep track of all the "hits" and context in the sense that a complex application program must do. It doesn't know or care who you are, whether this is the first or fourteenth page, what happened before or what comes next. This is also what gives web surfing its flexibility, nobody knows or cares what page you're going to ask for next—you're totally free to go where you will.

This describes the sort of interaction you have with the servers for my website. Everything is built in to my site and page design. Your browser receives the page and formats it as specified by my HyperText Markup Language. If I have specified any embedded images, it makes separate requests from the server for those too. Virtually everything is "done" by your browser client. The web server just hands out pages, files really, whenever asked.

Me want cookie! Yum, yum.

There are some interactions on the web which clearly have a problem with this sort of design. If I go to my broker to check on my portfolio, for example. How does he recognize me when when I ask for my balances or transactions? Sign-in for every request, sort of a "tell me again who you are and what you want now" design? That's a pain. What if he needs to know if I've seen and approved his Terms of Service disclaimer already? Or I told him which page I want him to display first when I arrive, my account overview or the trading floor?

That's what a cookie does. A server sends me a cookie when it needs to "remember" something about what's going on for a later time. So I login and get a cookie. When I want balances my browser sends the server the URL address for the balances page from the link on the account page and the cookie! Now the server knows what I want and who I am. Actually it sends all the cookies that pertain to that site: the login cookie, the disclaimer cookie, and the first page cookie. The server has everything he needs to know. When you visit a site, and it knows who you are without a log-in, a cookie is responsible. Order books from Amazon and your "shopping cart" is a bunch of cookies on your computer. The server isn't going to remember them, your computer is. If you come back next week or never, the server isn't storing a bunch of what might be just garbage. This is not to say that the server isn't going to keep information about you if it decides to. Buy something from a e-store and the server is probably going to keep a customer record which it can connect with your cookie when you come back. And it isn't to say that websites won't keep a surprizing amount of information in the cookies they leave on your computer even if it's not strictly necessary, like only the time of your last visit.

What's in a cookie is the Domain (which server or group of servers issued the cookie, e.g. amazon.com or schwab.com), the range of URL addresses the cookie is valid for, when the cookie expires (or at the end of the session), whether to secure any further requests by encryption, and of course the name and value of the data to be stored on my computer by the browser. So what's there comes from the server, and is returned to the server. It's sorta like going for your draft physical and carrying your paperwork around with you from station to station—the nurse checks off this and that but "out of sight, out of mind". Your paperwork is like the cookie—what needs to be known is there. What isn't there is some sort of inventory of everything about your computer.

So the thing to remember is except for these cookie things, and they're pretty much completely hidden, the web is "stateless"—it knows from nothing! Simplified, it is just a bunch of servers handing out files of HTML pages to whomever asks, whenever asked. To the extent there is any continuity in things it is either in your intentions, or in your cookies. As far as the security aspects of the cookies themselves, don't reveal more than is necessary, and don't visit sites you can't trust.

This is a modern egg, made in 1992, called the Romanoff Egg, not one of the Imperial Faberge Eggs. Nevertheless, its beautiful!

Congratulations, you found the easter egg! Your reward is a very special tip. But in order to use your reward, I want you to learn something about customizing your browser.

As I say above my sponsors require their banner ads at the top of my pages, and that's fair. But not only is it distracting, it forces important content down the page. I've done something special on my "On the Web" page, and only that page, which makes it more convenient for us to use. You'll have to learn how to modify the address of the bookmark, favorite, or homepage. Append "#top" to the address, for example:

  • "http://sites.netscape.net/paulswebsite/Web.html" becomes "http://sites.netscape.net/paulswebsite/Web.html#top",
  • "http://www.angelfire.com/or/paulrogers/Web.html" becomes "http://www.angelfire.com/or/paulrogers/Web.html#top".
If you'll do that then the link will take you to the page with my title bar right at the top of your browser window, like it used to do, instead of the advertizing banner. It only works on that one page. After all, my sponsors do deserve to get their advertizing—that was the deal I agreed to—and the banner is still there. But this page is important enough I'll help you start at a more convenient place, OK? Enjoy!

Copyright © 1999, 2000 by Paul Rogers. All rights reserved.