Server and Client: A server is a computer running software that answers requests for documents and other data. The programs that request and display the documents are called clients. Typically, the server is a remote machine and the client is the user's local machine. The terms "server-side" and "client-side" refer to which program is doing the processing.
Web Server: A program that handles requests for information from browsers. It allows HTML documents to be linked across a network. Browsers (clients) and servers communicate using Hypertext Transfer Protocol (HTTP). Web servers answer requests from browsers to retrieve documents or execute programs (e.g. CGI scripts) and return the documents or results.
| HTTP process |
Domain Name Service (DNS): DNS is an Internet service that translates domain names (e.g. www.clatsopdesign.com) into IP addresses (e.g. 68.116.36.144 ). Computers on the internet use the numbers to communicate; people use the names to navigate. DNS makes this possible. There are thousands of DNS computers on the internet sharing information about the name and numbers they know about. When you register a domain you need to specify who your DNS servers are. The DNS servers are usually provided to you by the company that is hosting your website. These name servers tell internet users how to find your website or email.
The DNS system is, in fact, its own network. If one DNS server doesn't know how to translate a particular domain name, it asks another one, and so on, until the correct IP address is returned. For example, if you want to navigate to www.clatsopdesign.com. The browser makes a request of your ISP's DNS server (1) "do you know the number for this website?" If it does, it will tell your browser what it is and you connect directly to the Website Server (3). If the ISP's DNS server doesn't know, it will ask the website owner's DNS server for the number (2). Then it connects to the website server (3). (Adapted from Andrea Butterworth at Bravenet.com)

Web Server Software: A majority of web servers run on Unix systems although some run on Windows and Macintosh systems. Popular servers include NCSA Server, Apache, CERN, Netscape Servers, Internet Information Server(IIS), W3C Jigsaw.
| Apache | IIS | Jigsaw |
File organization: Although most web developers deal with client-side issues it is necessary to understand basic server issues to upload files and link to scripts.
| Hierarchy |
Unix: It may be useful to know a little bit of Unix to better communicate
with the server. Unix commands have the format: command option(s) filename(s).
A few examples (word in brackets are replaced with actual values):
cd [pathname]pwdcp [oldname] [newname]mv [source] [target]ls [option(s)] mkdir [dirname]rm [filename]chmod [setting] [filename]Communicating with the server: There are three basic methods of communicating with a server: HTML editor, FTP program or telnet session.
| WS_FTP | Fetch | Telnet |
File Transfer Protocol (FTP): HTML documents, graphics, media and programs must be uploaded from the local computer to the server over a network. Whether using an HTML editor, FTP program or telnet, the usual method of doing this is by the File Transfer Protocol.
FTP Process: In order to transfer files to a server an account with proper permissions must be set up on the server (this is done by the server administrator). The usual process to upload files consists of the following steps:
Downloading files: Browsers can download files from the server using
FTP. One way to do this is to specify FTP in a link: <a href="ftp://domain.com/docs/filename.zip">download
filename</a>
Server-Side Technologies: Technologies that increase the capabilities of the server beyond delivering standard HTML documents. There are many languages taht can be used for server-side programming.
https://domain.com/file.html| CGI script | ASP example |
| CGI script 1 | Web page 1 | CGI script 2 | Web page 2 |
| password.html | password.pl | free counters |
Server Side Includes: code in an HTML document that is replaced with data by the server before sending the document to the browser (view source shows the data as normal HTML, hiding the SSI commands). SSI is often used in combination with CGI scripts to provide more powerful dynamic page generation. SSI commands are server dependent.
| virtual include | SSI page | SSI code | counter.pl |
Cookies: small text files saved on the client machine used to maintain state information for the client (e.g. user preferences, last access time, session tracking). The cookie is sent back to the server whenever the client requests a particular web page. Cookies are written and read by CGI scripts, ASP or Servlets. Cookies are limited to small amounts of text data. Internet Explorer stores cookies in the Windows/Temporary Internet Files folder, Netscape stores cookies in the "cookies.txt" file in the Netscape folder. Cookies can be turned off or limited by setting browser options.
| cookies.html | cookies.pl | read_cookies.pl |