Write your own http client to test your server, Computer Networking

Assignment Help:

- The project should include a web server, and an example webpage
- Webserver should continue to accept multiple requests from client browser
- Webserver should print out logs: how many connections have been established and what is request method (GET or POST).
- The example webpage you include within the webserver should include a welcome page and a small picture.

Exemplary Steps:

1. Make web server program with Python code and compile it (you should learn by yourselves): in this step, you should specify you would like to accept requests from clients.
2. Prepare a simple web page you want to show to the user when the client browserconnects to the server. Put the example web page in the same dictionary of your server program.
3. Using web browser in the same computer, connect to https://localhost:
4. Connect multiple times and check whether your program spawns threads properly.

Report (not more than two pages)
- Briefly introduce how the multi-thread works. DO NOT INCLUDE SOURCE CODE IN YOUR REPORT
- Include output from web server (logs) and one screen shot of web browser when it is connected.

Bonus
Instead of using a browser, write your own HTTP client to test your server. Your client will connect to the server using a TCP connection, send an HTTP request to the server, and display the server response as an output. You can assume that the HTTP request sent is a GET method.

The client should take command line arguments specifying the server IP address or host name, the port at which the server is listening, and the path at which the requested object is stored at the server. The following is an input command format to run the client.

client.py server_hostserver_port filename


Related Discussions:- Write your own http client to test your server

Authentication mechanism in vpn, What are the dissimilar ways authenticatio...

What are the dissimilar ways authentication mechanism in VPN?

Types of topologies, TWO DIFFERENT KINDS OF TOPOLOGIES: LOGICAL TOPOL...

TWO DIFFERENT KINDS OF TOPOLOGIES: LOGICAL TOPOLOGY:  It is described by the specific network technology. PHYSICL TOPOLOGY: It relays on the wiring scheme. NE

Determine the value of slow start threshold, Assuming that TCP Reno is used...

Assuming that TCP Reno is used, consider the following diagram illustrating the behaviour of congestion window, and answer the questions below. a)  What was the value of sl

State control frame - solicit successor, Control Frame: solicit_successor ...

Control Frame: solicit_successor Periodically ask for any station to link by sending solicit_successor Token with sender's addr and successor's addr wait 2 (as in

Which layer defines bit synchronization, Physical layers defines with synch...

Physical layers defines with synchronizing the 1s and 0s on the wire.

Explanation of internetworking terms and concepts, Question: (a) Outlin...

Question: (a) Outline the main interactions that take place when a user requests a valid web resource in the Address Bar of a modern web client till the resource is eventually

State the fundamental principles of 3gpp security, Question : a) What ...

Question : a) What does association refer to in IEEE 802.11? b) State the fundamental principles of 3GPP security. c) Explain the term "binding" in Mobile IPv6 d)

What is logical link control, What is logical link control? One of two ...

What is logical link control? One of two sublayers of the data link layer of OSI reference model, as explained by the IEEE 802 standard. This sublayer is responsible for mainta

Mention and explain 16 bit, Mention and explain 16 bit, basic programmable ...

Mention and explain 16 bit, basic programmable registers in 8086 operated in real mode?

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd