1. Web Server
1.1. Web Server
- HTTP 및 그와 관련 TCP 처리를 구현한 것
- 자신이 제공하는 리소스를 관리하고 설정, 통제, 확장을 위한 관리기능을 제공함
- 최근에는 apache nginx가 주로 사용됨
1.2. Web Server 요청 단계
- 클라이언트 커넥션 수락 : reverse DNS나 ident 프로토콜을 통해 호스트 명 식별 가능
- 요청 메시지 수신 : 단일 스레드 웹 서버, 멀티프로세스와 멀티스레드 웹 서버, 다중 I/O 서버(e.g. epoll), 다중 멀티스레드 웹 서버
- 요청 처리 : POST를 비롯한 몇몇 메서드에는 요청 메시지에 엔티티 본문이 있어여 함
- 리소스의 매핑과 접근 : docroot(웹 서버가 정적 파일을 기본적으로 찾기 시작하는 기준 디렉터리) 활용, 동적 콘텐츠 리소스 매핑 가능, SSI, 접근 제어
- 응답 생성 : MIME 타입(파일의 성격과 형식을 나타내는 식별자) 결정, 혹은 리다이렉션
- 응답 보내기
- 로깅
2. 프록시
2.1. 프록시란
- 클라이언트의 입장에서 트랜잭션을 수행하는 중개인
- 웹 서버이기도 하고, 웹 클리이언트이기도 함
- 개인 프록시(하나의 클라이언트가 독점)와 공용 프록시로 구분