5장 웹 서버
5.1 다채로운 웹 서버
5.1.1 웹 서버 구현
- 웹 서버가 제공하는 것
- HTTP 프로토콜 구현
- 웹 리소스 관리
- 웹 서버 관리
- 운영체제가 제공하는 것
- 컴퓨터 시스템의 하드웨어 관리
- TCP/IP 네트워크 지원
- 웹 리소스를 유지하기 위한 파일 시스템
- 현재 연산 활동을 제어하기 위한 프로세스 관리
5.3 진짜 웹 서버가 하는 일
기본 웹 서버의 요청 단계는 다음과 같다.

5.4 단계 1: 클라이언트 커넥션 수락
5.4.1 새 커넥션 다루기
새 커넥션이 맺어지고 받아들여지면 서버는 새 커넥션을 커넥션 목록에 추가하고 커넥션에서 오가는 데이터를 지켜보기 위해 준비를 한다.
일부 웹 서버는 클라이언트의 IP 주소나 호스트 명이 인가되지 않았거나 악의적이라고 알려진 것인 경우 커넥션을 닫는다.
5.4.2 클라이언트 호스트 명 식별
대부분의 웹 서버는 ‘역방향 DNS(reverse DNS)’를 사용해서 클라이언트의 IP 주소를 클라이언트의 호스트 명으로 변환하도록 설정되어 있다. 호스트 명 룩업(hostname lookup)은 시간이 오래 걸릴 수 있어 웹 트랜잭션을 느려지게 할 수 있다. 대용량 웹 서버는 호스트 명 분석(hostname resolution)을 꺼두거나 특정 콘텐츠에 대해서만 켜놓는다.