Search

HTTP와 연계하는 웹서버

5.1 1대로 멀티 도메인을 가능하게 하는 가상 호스트

1대의 서버에 여러 웹사이트를 넣을 수 있는데 이를 가상 호스트라고 한다. 따라서 HTTP 리퀘스트를 보내는 경우 호스트 명과 도메인 명을 완전하게 포함한 URI를 보내거나, HOST 헤더 필드에서 지정해야만 한다.

5.2 통신을 중계하는 프로그램: 프록시, 게이트웨이, 터널

5.2.1 프록시

서버와 클라이언트 양쪽 역할을 하는 중계 프로그램으로 서버에 클라이언트 요청을 클라이언트에 응답을 보내준다. 사용하는 이유는 캐시 사용, 특정 사이트 엑세스 제한 및 로그 등의 목적으로 사용한다.
캐싱 프록시 : 프록시 서버에 캐시를 저장하는 프록시
투명 프록시 : 메시지 변경을 하지 않는 프록시

5.2.2 게이트웨이

프록시와 같이 중계의 역할이지만, http 서버 이외의 서비스를 제공하는 서버와 중계를 해줘 안정성을 높입니다. 공용 게이트웨이 인터페이스(CGI)는 최초의 서버 확장이자 지금도 가장 많이 쓰이는 서버 확장인데 이는 동적HTML, DB query등 제공하는데 사용한다.ex) DB 접근

5.2.3 터널

웹 터널은 HTTP 프로토콜을 지원하지 않는 에플리케이션에 HTTP 애플리케이션을 사용하여 접근하는 방법을 제공하는데, 이를 사용하면 HTTP 커넥션을 통해서 HTTP가 아닌 트래픽을 전송할수 있다.
SSL 터널링 : 웹 터널은 원래 방화벽을 통해서 암호화된 SSL 트래픽을 전달하려고 개발되었지만, 이는 HTTP가 아닌 트래픽을 제한하는 방화벽을 통과할 수 있게 해줘 악의적인 트래픽 유입의 경로가 될 수 있다.

5.3 리소스를 보관하는 캐시

캐시서버는 프록시 서버의 하나로 캐싱 프록시로 구분된다.

5.3.1 캐시는 유효기간이 있다.

캐시는 리소스의 유효성을 확인하고, 다시 가지고 오는 경우도 있다.

5.3.2 클라이언트 측에도 캐시가 있다.

브라우저가 보존하는 캐시를 인터넷 임시 파일이라고 하며, 오래 될 경우 유효성을 확인하거나, 새로운 리소스를 다시 획득하러 간다.