The Internet is all about various computers communicating with each other. The prevailing model of the Internet is the notion of clients and servers. You can understand this better by imagining a drive-through restaurant. As you drive to the little speaker, a barely intelligible voice asks for your order. You ask for your "cholesto-burger supreme," and the bored teenager packages your food. You drive up, exchange money for the combo meal, and drive away. Meanwhile, the teenager waits for another customer to appear. The Internet works much like this model. Large permanent computers called Web servers permanently host Web pages and other information. They are much like the drive-through restaurant. Users "drive up" to the Web server using a Web browser. The data is exchanged, and the user can read the information on the Web browser.
What's interesting about this model is the interaction doesn't have to stop there. Since the client (user's) machine is a computer, it can be given instructions. Commonly, the JavaScript language is used to store special instructions in a Web page. These instructions (like the HTML code itself) don't mean anything on the server. Once the page gets to the client machine, the browser interprets the HTML code and any other JavaScript instructions. While much of the work is passed to the client, there are some disadvantages to this client-side approach. Programs designed to work inside a Web browser are usually greatly restricted in the kinds of things they can do. A client-side Web program usually cannot access the user's printer or disk drives. This limitation alone prevents such programs from doing much of the most useful work of the Internet, such as database connectivity and user tracking.
The server is also a computer, and it's possible to write programs designed to operate on the server rather than the client. There are a number of advantages to this arrangement:
Server-side programs run on powerful Web server computers.
The server can freely work with files and databases.
The code returned to the user is plain HTML, which can be displayed on any Web browser.