Almost all Information Servers above are described as stateless.
State is what networking people call memory. One of the important design principles in the Internet has always been to minimise the number of places that need to keep track of who is doing what.
In the case of stateless information servers this means that they do not keep track of which clients are accessing them. In other words, between one access and the next, the server and protocol are constructed in such a way that they do not care who, why, how, when or where the next access comes from.
This is essential to the reliability of the server, and to making such systems work in very large scale networks such as the Internet with potentially huge numbers of clients: if the server did depend on a client, then any client failure, or network failure would leave the server in the lurch, possibly not able to continue, or else serving other clients with reduced resources.
Having said this, the idea of being stateless does not necessarily mean that the servers do not keep information about clients. For example:
This can be useful even for sites that do not recoup funds for serving information, but so that they can point at the effectiveness of their information service.
Keeping track of most frequently accessed material
This can be useful to age and remove unaccessed information. It can also be used to decide to put frequently accessed information onto faster servers, or even move the information to servers nearest the most frequent clients (called load balancing).
Using Access Control Lists to limit who can retrieve which information
Some servers allow the configuration of lists of Internet Addresses, or even client users who are (or are not) permitted access to all or particular information.
Using authentication stages before permitting access, and also to allow billing.
While we would not recommend using the Internet to actually carry out billing yet, you can certainly employ secure authentication techniques that would identify a user beyond doubt. This can then be used with each access log, to calculate a bill which can then be sent out-of-band, e.g. by post.
Sharing out information on heavily loaded servers or networks, differentially, depending where clients are.
Some sites offer a wealth of information, but have less good long-haul Internet access. They will then distribute data more frequently in favour of local, site or national clients, above non-local or international ones.
Another use of the term stateless is to describe whether or not the
server keeps note of the actual data from each access by a client
(irrespective of whether it notes who the client was). This is called
server caching.
Server Caching is a way of improving the response time of a server. Usually, servers keep data on disk. If they keep a copy of all the most frequently or most recently accessed data in memory, they may be able to respond to new (or repeating) clients more quickly. Such caching is usually configurable, and depends largely on measuring a whole lot of system parameters:
Obviously, if there isn't much memory in a system then a cache say of one item would have little effect.
A memory cache is pointless if the network is always slower than the worst disk search!.
Clients may repeatedly access the same information. Different clients may tend to access the same information. Even if clients access different information over time, it may be that at one time, most people tend to access the same information (this is especially true of news servers or share information servers for example)
Caching is also employed in client programs. In other words, a client program may well not only hand each piece of information to the user - it may also squirrel away a copy of recently accessed items to avoid having to bother the server again for subsequent repeat requests for the same items.
In both server and client caching, the system should make sure that the actual master copy hasn't changed since the cache copy was taken. This can be quite complex!