Skip to content

PavelMartinelli/WebServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Асинхронный HTTP-сервер на Python

📦 Установка

  1. Клонируйте репозиторий:
git https://github.com/PavelMartinelli/WebServer.git
cd webserver
  1. Установите зависимости:
pip install -r requirements.txt

🚀 Запуск сервера

python run_server.py

Сервер запустится по адресу: http://localhost:8080 используя конфигурацию по умолчанию

⚙️ Конфигурация

Измените файл server.json в корне проекта:

{
  "host": "127.0.0.1",
  "port": 8080,
  "static_dir": "static",
  "open_file_cache": {
    "enabled": true,
    "max_size": 100
  }
}

Параметры:

host - IP сервера

port - порт сервера

static_dir - директория со статическими файлами

open_file_cache - настройки кэша файлов

🌟 Возможности

1. Статические файлы

2. Поддержка HTML, CSS, JS, изображений

3. Кэширование открытых файлов

4. Динамические маршруты. Обработка GET-параметров

5. Обработка ошибок

6. Кастомные страницы для ошибок (400, 403, 404, 500 и др.)

7. Защита от path traversal атак

🛠 Примеры использования

Главная страница:

http://localhost:8080/

Пример с параметрами:

Приветствие:

http://localhost:8080/greet?name=John&age=25

Калькулятор:

http://localhost:8080/calculator?a=15&b=5&op=mul

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published