- A way to place arbitrary state information in a URL.
Preferably, the state information is entirely encoded in the URL,
alternatively, it is a pointer to some information stored on the
- Built-in database access.
Databases accesses are frequent; they must be fast and easy.
- Low latency.
Anything over 1 second is an annoyance to the users.
- Extremely forgiving data input.
The program will usually be either:
- Reading data that a human typed, or
- reading data that another script prepared for a human to read
(and the author may update it at any moment).
- Identification and security.
- Personalization must be painless.
People are not willing to put out any effort to see a web page
until they know it is useful.
- If the web is to be used for cooperation, you need some security.
The only application that doesn't need any security is advertising.
- Error reporting to the maintainer via e-mail.
Users almost never report errors.