Bem -vindo ao nosso projeto WebServ para 42! Este ReadMe fornece uma visão geral da implementação do servidor HTTP, detalhes de configuração e como começar a usar nosso servidor.
Um servidor HTTP é um software projetado para aceitar solicitações de clientes e enviar respostas pela Internet ou em uma rede. Normalmente, ele serve páginas da web aos usuários em resposta a solicitações que incluem métodos como get, postagem, exclusão etc.
Nosso projeto, WebServ, foi projetado para simular o comportamento de servidores HTTP reais, mas em menor escala. Ele pode lidar com várias configurações de servidor simultaneamente até um limite de 1024 servidores devido à nossa escolha de usar a função select() . Os principais recursos de nossa implementação são:
/cgi ./register e /login . Estamos orgulhosos de anunciar que nosso projeto Web Serv recebeu a marca mais alta possível, marcando 125% na avaliação. Isso reflete nosso compromisso com a qualidade, a funcionalidade e a adesão às especificações do projeto.
A robustez do nosso servidor foi testada usando o testador de estresse de cerco. Após várias sessões de teste estendidas, o WebServ mostrou excelente confiabilidade, sustentando uma taxa de sucesso de 100% nos testes. Isso demonstra a capacidade do nosso servidor de lidar com cargas altas e manter o desempenho sob estresse.
Nossas configurações de servidor são detalhadas em um arquivo separado. Abaixo está um exemplo de configuração para o nosso servidor:
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 Para começar a usar o WebServ, siga estas etapas:
git clone https://github.com/rphlr/42-webserv [nameOfFolder]make./webserv [configuration-file-path]make run Para fins de teste com curl , você pode usar os seguintes comandos:
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=FileToDeleteSinta -se à vontade para contribuir com o projeto enviando solicitações de puxar ou relatando bugs.
Obrigado por conferir nosso projeto WebServ! Esperamos que isso sirva como uma base sólida para aprender mais sobre o funcionamento interno dos servidores HTTP.