Добро пожаловать в наш проект Webserv за 42! В этом Readme представлен обзор нашей реализации HTTP -сервера, деталей конфигурации и того, как начать с помощью нашего сервера.
HTTP -сервер - это программное обеспечение, предназначенное для принятия запросов от клиентов и отправки им ответов через Интернет или сеть. Как правило, он обслуживает веб -страницы пользователям в ответ на запросы, которые включают такие методы, как Get, Post, Delete и т. Д.
Наш проект, Webserv, предназначен для моделирования поведения реальных серверов HTTP, но в меньшем масштабе. Он может обрабатывать несколько конфигураций сервера одновременно до предела 1024 серверов из -за нашего выбора использования функции select() . Основными функциями нашей реализации являются:
/cgi ./register и /login . Мы с гордостью сообщаем, что наш проект WebServ получил максимально возможный знак, набрав 125% при оценке. Это отражает нашу приверженность качеству, функциональности и приверженности спецификациям проектов.
Надежность нашего сервера была проверена с использованием тестера напряжения осады. После нескольких расширенных тестовых сессий Webserv показал отличную надежность, поддержав 100% успех в тестах. Это демонстрирует способность нашего сервера обрабатывать высокие нагрузки и поддерживать производительность под напряжением.
Наши конфигурации сервера подробно описаны в отдельном файле. Ниже приведен пример конфигурации для нашего сервера:
server :
server_name : example
port : 1234
host : 127.0.0.1
max_body_size : 23854644
root : example_website_path
default_file : index.html
error_page :
403 : /error_webpages/403.html
404 : /error_webpages/404.html
405 : /error_webpages/405.html
413 : /error_webpages/413.html
501 : /error_webpages/501.html
location :
path : /
methods : GET, POST
redirect : /index.html
# Multiple server blocks can be configured similarly Чтобы начать использовать WebServ, выполните эти шаги:
git clone https://github.com/rphlr/42-webserv [nameOfFolder]make./webserv [configuration-file-path]make run В целях тестирования с curl вы можете использовать следующие команды:
curl -X POST " file=@/Path/to/File " http://localhost:port/cgi ? upload=truecurl -X GET http://localhost:port/cgi ? file=/path/to/filecurl -X DELETE http://localhost:port/default_webpages ? file=FileToDeleteНе стесняйтесь вносить свой вклад в проект, отправив запросы на привлечение или сообщив об ошибках.
Спасибо за проверку нашего проекта Webserv! Мы надеемся, что это служит прочной базой для получения дополнительной информации о внутренней работе серверов HTTP.