Changes between Version 17 and Version 18 of NikySandbox/WebExample


Ignore:
Timestamp:
07/06/12 07:15:14 (12 years ago)
Author:
nriga@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NikySandbox/WebExample

    v17 v18  
    130130 1. Write a paper that describes your chosen architecture and implementation details. Describe any problems that you encountered. In addition to describing the structure of your server, include a discussion that addresses the following questions:
    131131    a. Web servers often use ".htaccess" files to restrict access to clients based on their IP address. Although it wasn't required, how would you go about supporting .htaccess in your server?
    132     b. Since your web servers are restricted to on campus use only, it is unlikely that you will notice any significant performance differences between HTTP/1.0 and HTTP/1.1. Can you think of a scenario in which HTTP/1.0 may perform better than HTTP/1.1? Can you think of a scenario when HTTP/1.1 outperforms HTTP/1.0? Think about bandwidth, latency, and file size. Consider some of the pros and cons of using a connection per session versus using a connection per object.  The difference between the two comes down to the following:
     132    b. Performance differences between HTTP/1.0 and HTTP/1.1. Can you think of a scenario in which HTTP/1.0 may perform better than HTTP/1.1? Can you think of a scenario when HTTP/1.1 outperforms HTTP/1.0? Think about bandwidth, latency, and file size. Consider some of the pros and cons of using a connection per session versus using a connection per object.  The difference between the two comes down to the following:
    133133      * Only  a single connection is established for all retrieved objects, meaning that slow start is only incurred once (assuming that the pipeline is kept full) and that the overhead of establishing and tearing down a TCP connection is also only incurred once.
    134134      * However, all objects must be retrieved in serial in HTTP/1.1 meaning that some of the benefits of parallelism are lost.
     135 2. Submit the code of your webserver. Make the server document directory ( the directory which the webserver uses to serve files ) a command line option. The command line option must be specified as -document_root. Make the port that the server listens on a command line option. The option must be specified as -port . Thus, I should be able to run your server as
     136  {{{
     137$ ./server -document_root "/tmp/assignment1_files" -port 8888
     138(Note that you should use ports between 8000 and 9999 for testing purposes.)
     139  }}}
     140