CS290 Lab3: Grading Form

Name1:                                       CS-login:

Name2:                                       CS-login:

PSO Number:

Part 1. HTTP Protocol and concurrency(20points)

1.  In one window run server in concurrent mode (myhttpd -f 5555 ).
Type "ps -u $USER" How many defunct processes are there in the background.? _________

2. In another window run mozilla. Clean the cache and connect to the server typing http://localhost:5555

   mozilla should load default index. (reload 3 times).

   Does index.html loads fine(4points)?___________________________________
3. Complex test (reload 3 times)

Are there any broken icons(4points)? ______________________________
4. Type "ps -u  $USER"
          Has the number of zombie processes increased(2points)?_________________

5. In another window type "telnet localhost 5555". Now in mozilla select the complex test

          Does the server hang(4points)?__________

6. Kill the server.

a) Now run the server in the pool of threads mode: "myhttpd -p 5555&"
b) In another window type "telnet localhost 5555"
c) With mozilla connect to the server: http://localhost:5555 and select complex test

Does the server hang(4points)?_______

d) Identify the process id of the server by typing "ps -u $USER"
e) To find out how many threads are in the server, in Linux type "ls /proc/<pid>/task" or in Solaris type  "/usr/proc/bin/pstack pid"

How many threads does it show(2points)? _____________

Part 2. Directories(15points)

7. Kill the server and start it again with "-f" mode.
myhttpd -f 5555
Try Browsing dir1/
Do names of files appear correctly(2 points)? _______

Last modified field appears(1point)? ________

Icons appear(1point)? ________

Are names sorted(1point)? _______

Looks fine aesthetically(1points)? (aligned and formatted) _______

Click into  "Parent Directory". Does it work(1points)? _________

Click into subdir1/ . Does it work(1points)? __________

Click in links "name" "last modified" and "size"
Does it sort by name(1point)? _______ By "last modified"(1point)? _______ by size(1point)? _______

8.  Try browsing dir  (without / at the end). Does it work(2points)? _________

Click into subdir1.  Does it work(2points)? __________

Part 3. CGI-BIN(10 points)

9. Click cgi-bin: test-cgi(4points)

              Is REQUEST_METHOD=GET and QUERY_STRING=  (no value)(2points)? _________

Is output formatted(1point)?  (one variable in each line) _____________

Set up one of the environment variables and rerun test-cgi, Does this environment variable show up in the output(1point)?_____________

10. Click cgi-bin: finger(2points)
Does the initial form appear(1point)? ___________________
When typing a login in the form and submitting, does finger respond with the right info(1point)? ______________
11. Click: cgi-bin: pizza(4points)
Does the initial form appear(2points)? _____________

When typing info and submitting, does pizza respond with the right info(2points)? ________________

Part 4. Loadable modules(8 points)

12.  Type:
http://localhost:5555/cgi-bin/hello.so?a=b
Does the hello message appear on the screen(3points)?__________

Type:
        http://localhost:5555/jj-mod.so

Does the initial form appear correctly(2points)?________________
Fill in the form and submit it.
Does the response appear correct(3points)? __________________

Part 5. Statistics and Log Pages (7 points)

14. Type http://localhost:5555/stats. Make sure that the names, up time, number of requests, minimum and maximum service time are printed. (4 pts)

Notes:________________________________________________________________

15. Now type http://localhost:5555/logs Make sure that the source host and directory requested are printed. (3 pts)

Notes:________________________________________________________________

Part 6. Extra features

16. Extra features implemented but not specified in the handout:
 
 
 
 

Part 6. Reliability and Robustness(5points)

How many times the server crashed during the test(2points if crashed once, 0point if crashed more than twice)? _________
Observations? _________________
 

Part 7. Usage Functions(5points)

Does a help message print on typing wrong arguments? ______