Javatpoint Logo
Javatpoint Logo

Python SimpleHTTPServer Module

Servers are PC programming or equipment that cycles demand and convey information to a client over an organization. Different kinds of servers exist, the most well-known ones being web servers, information base servers, application servers, and exchange servers.

Broadly utilized web servers like Jigsaw, Apache, and Monkey are tedious to set up while testing out basic undertakings. An engineer's center is moved from creating an application rationale to setting up a server.

Python's SimpleHTTPServer module is a helpful and clear instrument that engineers can use for various use-cases. The fundamental one is that it is a fast method for serving records from a catalog.

It takes out the arduous cycle of introducing and executing the accessible cross-stage web servers.

Note: While SimpleHTTPServer is an extraordinary approach to serve records from a registry handily, it ought not be utilized in a creative climate. As per the authority Python docs, it "just carries out fundamental security checks."

What is an HTTP Server?

Web Server: A web server is a program that processes the organization's solicitations of the clients and serves them with documents that make site pages. This trade happens to utilize Hypertext Transfer Protocol (HTTP).

Essentially, web servers are PCs used to store HTTP records that make a site, and when a client demands a specific site, it conveys the mentioned site to the client. For instance, you need to open Facebook on your PC and enter the URL in the pursuit bar of google. The PC will send an HTTP solicitation to see the Facebook website page to one more PC known as the webserver. This PC (webserver) contains all of the records (normally in HTTP design) that make up the site, like text, pictures, gif documents, etc. In the wake of handling the solicitation, the webserver will send the mentioned site-related documents to your PC, and afterward, you can arrive at the site.

Various sites can be put away on something similar or different web servers; however, that doesn't influence the real site that you are finding on your PC. The web server can be any product or equipment, yet it is typically a product running on a PC. One web server can deal with numerous clients at some random time which is a need. In any case, there must be a web server for every client, and taking into account the ongoing total populace, it is almost near unimaginable. A web server is never disengaged from the web since, in such a case that it was, then, at that point, it will not have the option to get any solicitations and subsequently can't handle them.

  1. An HTTP web server is only the interaction that is running on your machine and does exactly two things:
  2. Listens for the approaching http demands on a particular TCP attachment address (IP address and a port number)
  3. It handles this solicitation and sends a reaction back to the client.
  4. When you open your Chrome program and type in the location bar, you will get the Google landing page delivered to your program window.
  5. In any case, what occurred in the engine?
  6. Numerous things have occurred, yet for straightforwardness, I will digest away a portion of the subtleties and discuss this at an extremely undeniable level.
  7. At a significant level, when we search on your program, your program will make an organization message called an HTTP demand.
  8. This Request (HTTP type) will move to a Google PC for the webserver residing on it.
  9. This HTTP web server will catch your solicitation and handle it by answering with the HTML of the Google landing page.
  10. At long last, the program delivers this HTML on the console screen, which we see on the console screen.
  11. Each collaboration with the Google landing page after that (for instance, when you click on a connection) starts another solicitation and reaction exactly like the first.
  12. To repeat, the machine that gets an http demand has the product cycle called a web server running on it.
  13. That web server is liable for catching and dealing with these solicitations properly.

Python3 SimpleHTTPServer

  1. Python3 SimpleHTTPServer is an implicit HTTP server where you don't need to introduce and design anything. Like this, SimpleHTTPServer is an exceptionally helpful device.
  2. You can utilize the Python SimpleHTTPServer to transform any catalog into a straightforward HTTP web server.
  3. SimpleHTTPServer module accompanies a basic HTTP server that gives standard GET and HEAD demand overseers.
  4. SimpleHTTPServer module can transform any catalog of your framework into a web server. You want to type a solitary line order to carry out this HTTP server in your terminal.
  5. Python SimpleHTTPServer upholds just two HTTP techniques - GET and HEAD. So, it's an amazing instrument to share documents over the organization.

For instance, type the accompanying order to begin a server on 8000 as the default port.

We can change the default port by typing the number of ports in the argument space in the command.


py python -m SimpleHTTPServer
Serving HTTP on port 8000 ...
-»06/06/2022 18:49:55] "GET / HTTP/1.1"

We have begun the Python SimpleHTTPServer on port 8000.

On the off chance that you go to the program, it will show every one of the records and envelopes listed in the result of a site page.

Why pick Python SimpleHTTPServer

  • Lightway.
  • Utilitarian programing.
  • Channel chain support.
  • Meeting support and can uphold dispersed meetings by this extention.
  • Spring MVC-like solicitation planning.
  • SSL support.
  • Websocket support
  • Simple to utilize.
  • Free-form regulator composing.
  • Effectively integrated with WSGI servers.
  • Coroutine mode support.

No module named SimpleHTTPServer

No module named SimpleHTTPServer error is ModuleNotFoundError in Python.

If you are utilizing Python3 and attempting to begin the SimpleHTTPServer, you will get the blunder like No module named SimpleHTTPServer.

It is converged with http. Server module. You can utilize the below order to run the python http server in Python 3.


py python3 -m http. server 9000
Serving HTTP on port 9000 ( -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- [06/Feb/2019 18:53:39]
"GET / HTTP/1.1" 200
[06/Feb/2019 18:53:40] code 404, message File not found
- - - - - - - - - - - - - - - - - [06/Feb/2019 18:53:40] - - - - - - - - - - - - - - - - - - 
"GET / HTTP/1.1" 404

Now, make the straightforward index.html record inside that server catalog where you have begun the server and compose the accompanying code inside the index.html document.

Source code:

Now, go to the browser and type this URL: http://localhost:9000 and see the output.

Output: Your screen might look similar to the image shown below

Python SimpleHTTPServer Module

Python3 HTTP server example

Python 3 http server module characterizes classes for executing HTTP servers or Web servers. The http.server isn't suggested for creation. It just performs vital security checks.

We can compose the server code to make a web server.

Compose the accompanying code inside the record.

Okay, now execute the above file. Now go and type on the terminal the following command.


if we have an index.html document in our directory catalog, the server will answer with that html file.

We can search more about Python 3 module http.server on this connection.

Python module that is http server, gives absolute messages. In any case, the python module (http server) doesn't show all the python required suitable modules subtleties on stopping the console; that is an all the more perfect methodology.


Python's SimpleHTTPServer module is a convenient and clear instrument that engineers can use for a few use-cases. The primary one is that it's a speedy method for serving records from the catalogue. Likewise, it eliminates the relentless interaction related to introducing and executing the accessible cross-stage web servers.

If Python 2 is used, the following command is suitable.

If Python 3 is used, the following command is suitable.

The server gives a straightforward index UI to get to any records. This is the least complex method for serving documents locally over HTTP straightforwardly.

Python gives us the SimpleHTTPServer module (or http.server in Python 3) that can rapidly and effectively serve records from a neighborhood registry employing HTTP. This can be utilized for some turns of events or other inner errands however isn't intended for creation.

This is a fantastic answer for nearby use since web servers like Apache, Monkey, and Jigsaw are considerably more testing to get set up and are much of the time pointless excess for improvement exercises.

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA