
137
5
장 웹 서버
The Definitive Guide
실제로 해야 할 일이 있을 때뿐이다. 스레드와 프로세스는 유휴 상태의 커넥션에
매여 기다리느라 리소스를 낭비하지 않는다.
다중 멀티스레드 웹 서버(그림
5
-
7d
)
몇몇 시스템은 자신의 컴퓨터 플랫폼에 올라와 있는 CPU 여러 개의 이점을 살리기
위해 멀티스레딩과 다중화(multiplexing)를 결합한다. 여러 개의 스레드(보통 하나
의 물리적 프로세스)는 각각 열려있는 커넥션(혹은 열려있는 커넥션의 부분 집합)
을 감시하고 각 커넥션에 대해 조금씩 작업을 수행한다.
5.6
단계
3
: 요청 처리
웹 서버가 요청을 받으면, 서버는 요청으로부터 메서드, 리소스, 헤더, 본문(없는
경우도 있다)을 얻어내어 처리한다.
POST를 비롯한 몇몇 메서드는 요청 메시지에 엔터티 본문이 있을 것을 요구한
다. 그 외 OPTIONS를 비롯한 다수의 메서드는 요청에 본문이 있는 것을 허용하되
요구하지는 않는다. 많지는 않지만 GET과 같이 요청 메시지에 엔터티 본문이 있는
것을 금지하는 메서드도 있다.
우리는 요청 처리에 대해서는 이야기하지 않을 것이다. 왜냐하면 그건 이 책 나
머지 대부분의 주제이기 때문이다!
5.7
단계
4
: 리소스의 매핑과 접근
웹 서버는 리소스 서버다. 그들은 HTML 페이지나 JPEG 이미지 같은 미리 ...