뒤로
한경민
한경민 ·

BrilliantServer (3인팀) 프로젝트 소개

RFC 9110, 9112 에 정의된 규격을 따르는 HTTP/1.1 버전 origin server 의 구현

개발 기간 : 2022.09. ~ 2022.11.

0 기술 스택

  • C++98
  • CMake
  • GoogleTest

1 기능

  • kqueue 활용한 event loop 기반 non-blocking I/O multiplexing
  • static 파일에 대한 GET/POST/DELETE HTTP Request 처리
  • HTTP 규격에 맞는 응답 생성
  • CGI 실행, name-based virtual hosting, directory listing 지원
  • Google Test & CMake 로 TDD & 유닛 테스팅
  • Connection request header field 의 값에 따라 해당 요청 응답 후, 클라이언트와 네트워크 연결 유지 (keep-alive) / 연결 해제 (close) 결정

2 설계

  • 객체 책임/역할 정의

  • HTTP 요청/응답 flowchart

3 구현

4 성능 테스트

  • siege http load tester 로 성능 테스트
  • 작은 파일 (48.7 KB) GET 요청 10,000 번

  • 큰 파일 (2.5MB image) GET 요청 10,000 번


2

댓글

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.