| 128 | |
| 129 | == What to hand in == |
| 130 | 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: |
| 131 | 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: |
| 133 | * 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. |
| 134 | * However, all objects must be retrieved in serial in HTTP/1.1 meaning that some of the benefits of parallelism are lost. |