Set up Python simpleHTTPserver on Windows
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
Python's `SimpleHTTPServer` module provides developers with a quick and easy way to set up a web server for serving files from a directory over HTTP. This can be particularly useful for testing purposes, sharing files over a local network, or quickly setting up a simple web service. Being part of the Python Standard Library, it requires no installation and can be used with a simple command.
This article provides a step-by-step guide to setting up `SimpleHTTPServer` on Windows, along with technical insights, examples, and additional tips to enhance your experience.
Pre-requisites
- Python Installed: Ensure that Python is installed on your Windows machine.
- Download and install Python from python.org.
- Verify the installation by running `python --version` in the command prompt.
- Command Prompt Access: Be familiar with using the command prompt.
Setting Up `SimpleHTTPServer`
Step 1: Open the Command Prompt
- Press `Win + R`, type `cmd`, and press Enter. This will open the command prompt window.
Step 2: Navigate to the Desired Directory
Use the `cd` command to navigate to the directory you wish to serve with `SimpleHTTPServer`.
- Replace `path\to\your\directory` with the path of the directory you want to serve. You can copy the path from Windows Explorer.
- `8000` is the port number, which you can replace with any valid port number if needed.
- Module Differences:
- `SimpleHTTPServer` was the module name in Python 2, and it was integrated into the `http.server` module in Python 3.
- Serving a Different Directory:
- By default, the server serves the current directory. However, you can specify a different directory by navigating to it via `cd`.
- Port Number:
- Choose an available port number (above 1024 if you don’t have administrative privileges).
- Security: `SimpleHTTPServer` is intended for quick and temporary use. It lacks robust security features and should not be used for production environments.
- Killing the Server: Stop the server by pressing `Ctrl + C` in the command prompt where the server is running.
- File Access: Ensure that files intended to be served are in the correct directory or use relative paths to manage file access.
- Python Scripts: You can directly execute Python scripts by navigating to the appropriate directory and calling them in the command line using `python script_name.py`.

