A stateless server
is one which treats each request as an independent transaction, unrelated to any previous request. This simplifies the server design because it does not need to allocate storage to deal with conversations in progress or worry about freeing it if a client dies in mid-transaction. A disadvantage is that it may be necessary to include more information in each request and this extra information will need to be interpreted by the server each time.
An example of a stateless server is a World-Wide Web
server. These take in requests (URLs
) which completely specify the required document and do not require any context or memory of previous requests.
Contrast this with a traditional FTP
server which conducts an interactive session with the user. A request to the server for a file can assume that the user has been authenticated and that the current directory and transfer mode have been set.