svn add
if you want to add new files to your repository. Of course, don't forget to commit after you add new files.
Be sure to provide a Makefile
OR bash script
for building AND running your web server.
-p port
: Overrides the default port the server should run on. The default is port 8000 (note that ports under 1024 require root access to use, so we cannot use port 80 as default).-root path
: Sets the root directory of the web server. This is where the files are served from. For example, if the server is run with
-root ./networks/websitethen a request for
http://www.myserver.com/index.html
will result in serving the file ./networks/website/index.html
. If this option is not present, ./www
will be used as the default root directory.-debug
: When this option is present, you may print out debugging messages to the console (stdout). When this option is not present, your program may not print any output to the console. -s sslport
: If you are implementing SSL support, your server listens for an SSL connection on the specified port. Your server should be able to listen on a normal port and on an SSL port at the same time, and handle both types of connections. The default SSL port is 8001. README file
is provided in your project repository. Be sure to add detailed instructions on how to run and test your web server. Add notable features that you implemented in your web server.
GET
, HEAD
, and POST
request methods. You will need to implement only the 200
, 301
, 400
, 404
, 500
, and 501
error codes. Your server should also respond to the Host
, User-Agent
, Connection
, Accept
, and at least two other request headers. It should also produce appropriate response headers including but not limited to the Date
, Server
, Content-Length
, Connection
and Content-Type
headers.
Connection: close
header, then that request is the final one for the connection and the server should close the connection after sending the response. Also, the server should close an idle connection after some timeout period (can be anything, but yours should be 15 seconds). Your server must support these persistent connections. Please remember that a single client may issue additional requests while your server is still reading the first request. In this case, your server must read in and process all requests before closing the connection.
Documentation
. The document should include:
Artifacts | % of Grade |
---|---|
Prototype Demonstration #1 | 10 |
Prototype Demonstration #2 | 15 |
Design Document | 10 |
Prototype Demonstration #3 | 15 |
Final Demonstration | 40 |
Final Report | 10 |