CS401 S99 Midterm Exam



There are 4 questions asked.  Your grade will be based on the best three answers.
You will have 1 hour 15 min. to work on the midterm.   You can work at home or at PC lab where you can access it through a web browser.  For multiple-choice questions, you must choose either yes or no for each answer. After filled in the answers in the text areas and selected the answers, please save (or print) a copy of the web page with your answers. Submit your answers by pressing the submit button at the end of this web page.  You will get a confirm web page with all your answers. Since some of the questions will be related to Apache server configuration directives, you need to be able to access server document web pages (at www.apache.org or at bilbo.uccs.edu).
Your name:
Your login on CS UNIX machines:
Your password on CS UNIX machines:
Work/Home Phone number (option):


  1. Basic Apache Web Server Configuration and Operation.
    1. Why is it not wise to run the web server as root?
      1. Process running with the root account is slower. YesNo
      2. Process running with the root account has too many restrictions.YesNo
      3. Process running with the root account can erase disks.YesNo
      4. Process running with the root account can erase files not belong to root.YesNo
      5. Process running with the root account can not execute cgi scripts.YesNo
    2. How does Apache dynamically adjust to the requests?
      1. Spawn more child processes when the request rate increases.YesNo
      2. Kill unneeded child processes when the request rate decreases.YesNo
      3. If MaxRequestsPerChild is set to 10, then a child process can only serve 10 requests simultanenously.YesNo
      4. MaxSpareServers limits the total number of child processes created by the root server.YesNo
    3. How  does the web server translate a uri in the http request command line to the full path name of the corresponding web document in server's file system?Assume that the httpd.conf contains the following two directives:

    4. DocumentRoot /home/httpd/html
      ScriptAlias /cgi-bin /home/httpd/cgi-bin
      1. What is the full path name of the document, if the uri is /doc/ssi.html?
      2. What is the full path name of the script, if the uri is /cgi-bin/sessionvar.pl?
      3. If we move sessionvar.pl to the DocumentRoot directory, will the web server still execute it as a CGI script?

    5. How cookie can be used to track a user's Internet access (or on-line purchase) pattern?
  2. Virtual Hosting (IP-based vs. Name-based).
    1. Besides the web server configuration file, what is involved in setting up IP-based virtual hosting?
    2. What directive indicates the web server is set up with  the name-based virtual hosting?
    3. What browsers do to support the name-based virtual hosting?
  3. Authentication.
    1. How does the server detect that the directory or location is protected and required authentication?
    2. Why the server provides authentication realm information to the user?
    3. What encoding method is used for the login and password pairs?
    4. What is the difference between using AuthUserFile and using AuthDBMUserFile?
  4. Proxy/cache server.
    1. Why can the cache server reduce the Internet traffic of an organization?
    2. Why are the cached documents  saved with a MD5 hashed file name?
    3. Why are the cached documents spread in directories with the multi-level hierarchy?
    4. What are the three basic factors that impact on the web system performance?
    5. Which metric is used by most web server benchmarks?