Rust

싱글스레드 웹 서버 구축하기

싱글스레드 웹 서버 예제는 TCP 수신, HTTP 요청 파싱, 응답 작성, 파일 반환 흐름을 한 실행 경로로 연결합니다.

TCP 연결을 받고 요청을 읽은 뒤 응답을 보내는 단일 스레드 서버의 최소 흐름을 확인합니다.

연결 수락부터 응답 쓰기까지

1

TCP 연결 수신 대기하기

TcpListener가 포트를 바인딩하고 들어오는 연결을 순서대로 accept하는 흐름을 확인합니다.

2

요청 읽기

스트림에서 바이트를 읽어 요청 라인과 헤더 경계를 구분합니다.

3

HTTP 요청 상세 구조

메서드, 경로, 버전, 헤더를 나눠 서버가 어떤 응답을 보낼지 결정합니다.

4

응답 작성하기

스레드 풀은 여러 요청을 동시에 처리해 서버 처리량을 개선합니다. 먼저 싱글스레드 요청-응답 흐름을 기준으로 병목을 확인합니다.