42 세의 웹 사이트 프로젝트에 오신 것을 환영합니다! 이 readme은 HTTP 서버 구현, 구성 세부 사항 및 서버를 사용하여 시작하는 방법에 대한 개요를 제공합니다.
HTTP 서버는 클라이언트의 요청을 수락하고 인터넷이나 네트워크를 통해 응답을 보내도록 설계된 소프트웨어입니다. 일반적으로 Get, Post, Delete 등과 같은 메소드가 포함 된 요청에 응답하여 사용자에게 웹 페이지를 제공합니다.
우리의 프로젝트 인 Webserv는 실제 HTTP 서버의 동작을 시뮬레이션하지만 더 작은 규모로 설계되었습니다. select() 함수를 사용하는 선택으로 인해 여러 서버 구성을 동시에 1024 서버의 한계까지 처리 할 수 있습니다. 구현의 주요 기능은 다음과 같습니다.
/cgi 통해 Python, Perl, PHP 또는 Bash 스크립트의 실행을 처리합니다./register 및 /login 통해 처리 할 수 있습니다. 우리는 웹 서비스 프로젝트가 가능한 가장 높은 마크를 받았으며 평가에서 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풀 요청을 제출하거나 버그를보고하여 프로젝트에 자유롭게 기여하십시오.
웹 서비스 프로젝트를 확인해 주셔서 감사합니다! HTTP 서버의 내부 작업에 대해 더 많이 배우기위한 견고한 기반이되기를 바랍니다.