Pros
1. Easy to implement. Development time is negligible if only strings and numbers have to be passed.
2. Good for a small state.
3. Good for nonsensitive data.
4. Especially good for static synchronization (see "Static versus Dynamic Synchronization").
Cons
1. Security problem. State is passed through the wire and state encryption for sensitive data is now necessary.
2. Security problem. Even with encryption, passing such data as database connection strings imposes a security risk. Internet web sites are especially vulnerable.
3. Passing a relatively large state affects bandwidth and response time. Especially important for 56K modem users and mobile users.
4. Custom code is needed to send and receive a state.
5. Works for a Web Farm if affinity for load balancing is in place.

Table 2: Pros and cons of client-based synchronization.

Back to Article