- Disclaimer!
+ On this github only the project is final
! Project research, documentation and other supporting documents are work in progress
! -> readme.md and dir _readme_files
42_webserv
Простой http -сервер, сделанный с нуля описания проекта
Особенности этого веб -сайта
- Программирование сокетов: базовая связь с сервером-клиентом (с помощью <sys/socket.h> lib)
- Программирование гнезда: мультиплексирование IO с помощью Epoll Suite, розетки не блокируют
- Архитектура веб -сервера: на основе архитектуры NGINX (Worker Process) -> Структура данных сервера, структура данных конфигурации
- Архитектура веб -сервера: один работник (один процесс) обрабатывает все соединения с помощью Epoll,
- Файлы конфигурации: Вдохновенный файл конфигурации Nginx, см. Подробности для директив ниже
- Директивы на конфигурацию: см.
- HTTP -протокол: 1.1
- HTTP Методы: Get, Post, Delete
- Http перенаправления
- Http коды ошибок: см. "./Webserv_dictionnary.md"
- Загрузка файла:
- Скачать файл:
- Обработанный тип данных: обычный/текст, двоичный
- Кодирование кусочков
- Динамическое содержание, обработанное с помощью CGI, сценариев CGI в Python и Perl
- Таймеры устанавливают на 60 секунд по умолчанию
- HTML -сценарии, CSS
- Использует потоковые объекты вместо дескрипторов файлов для большинства операций чтения/записи, кроме сокетов
- Управление ошибками, утечки, осада
хост, прослушивание, сервер_name, местоположение, метод, корень, индекс, аутоиндекс, body_size, error_page, return, exec_cgi, extension_cgi)
Содержание этого GitHub
_webserv
Эта папка содержит окончательную и полную версию нашего Webser, выдвинутую и подтвержденную 18/07/23.
./webserv_*
Мы стремимся завершить следующие документы в ближайшие недели, в настоящее время они все еще находятся в стадии разработки:
- ./webserv_dictionnary.md
- ./webserv_research.pdf
- ./webserv_flowchart.pdf
- ./webserv_correction_prep.md
- ./_webserv/configuration_files/readme.md
Исследования WIP доступны по адресу: https://docs.google.com/document/d/1i5g1xghdpuf_c7df9sp-edej2bdzipvbjh13hlpty0w/edit?usp=sharing Ответственность: это был наш исследовательский документ во время проекта, и он был финализован, он был финализован, но это был конфиденциально, но там был ресурс, но был конверсии, но там был конверт.
Как использовать этот веб -серви
..Tbd
Функционирование по умолчанию нашего веб -сервера
Файл конфигурации по умолчанию находится по адресу configuration_files/default.conf .
Корень всегда находится в var/www .
Эта папка содержит все статические файлы, которые наша веб -сервер может вернуть клиенту (HTML, CSS, изображения и даже файлы JavaScript!).
Страница индекса находится по адресу /html/landing_page.html .
... TBC