A new project object is created each time you start an application, and the object is destroyed any time you stop or restart an application. Because a single server can have multiple separate instances of an application, each instance of an application has its own unique project object. Server objects let applications share information. For example, as a user moves from one application to another, server can pass on the user's preferences and login information. A server object is created when the server process is started and destroyed when the server process is stopped.
All applications using the same server process share the same server object.
Any time a host machine runs multiple server processes on different ports there will be multiple server objects. These objects will correspond to the specific server processes and ports they answer on. For example, a server process on port 80 will have a different server object than a server process on port 8080. Netscape's server provides a multithreaded environment for JavaScript applications. Though multithreading speeds up processing and improves performance, it can lead to conflicts over which process has control of an application's objects and properties at any given time.