HTTP 와 연계하는 웹 서버
- 웹 서버는 1대의 서버에서 멀티 도메인으로 웹 사이트를 실행하거나 중계 서버를 두어 통신 중에 효율을 올릴 수 있습니다.
1대로 멀티 도메인을 가능하게 하는 가상 호스트
가상 호스트라는 기능으로 1대의 서버에 여러 고객의 웹 사이트를 넣을 수 있다.
가상 호스트 기능을 사용하면 물리적으로는 서버가 1대지만 가상으로 여러대가 있는 것처럼 설정하는 것이 가능하다
같은 서버 상에 같은 IP 주소의 웹 서버에서 다른 도메인이 실행될 경우 DNS로 이름을 해결하면, 그 어느 쪽도 같은 수신인이 될 수 있다.
통신을 중계하는 프로그램: 프록시, 게이트웨이, 터널
프록시
- 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램으로 클라이언트로부터의 리퀘스트를 서버에 전송하고
- 서버로부터의 리스폰스를 클라이언트에 전송한다
게이트웨이
- 다른 서버를 중계하는 서버.
- 클라이언트로부터 수신한 리퀘스트를 리소스를 보유한 서버인 것처럼 수신함.
- 경우에 따라 클라이언트는 상대가 게이트웨이라는 것을 알지 못하는 경우도 있음.
터널
- 서로 떨어진 두 대의 클라이언트와 서버 사이를 중계하며 접속을 주선하는 중계 프로그램
리소스를 보관하는 캐시
- 캐시(Cache)는 프록시 서버와 클라이언트의 로컬 디스크에 보관된 리소스의 사본을 가리킨다.
- 캐시를 사용하면 리소스를 가진 서버에서의 액세스를 줄이는 것이 가능하기 때문에 통신량과 통신 시간을 절약할 수 있다.
- 캐시 서버는 프록시 서버의 하나로 캐싱 프록시로 분류된다.
- 캐시를 이용함으로써 같은 데이터를 몇 번이고 오리진 서버에 전송할 필요가 없다
캐시는 유효기간이 있다
- 캐시 서버에 캐시가 있는 경우라도 같은 리소스의 리퀘스트에 대해서 항상 캐시를 돌려 준다고는 할 수 없다.
- 캐시되어 있는 리소스의 유효성과 관계가 있다.
클라이언트 측에도 캐시가 있다.
- 캐시 서버만 캐시를 가지고 있는 게 아니라 클라이언트가 사용하고 있는 브라우저에서도 캐시를 가질 수 있다.
- 같은 리소스의 액세스는 서버에 액세스하지 않고 로컬 디스크로부터 불러 온다.
- 캐시 서버와 마찬가지로 리소스가 오래된 것으로 판단된 경우에는 오리진 서버에 리소스의 유효성을 확인하러 가거나 새로운 리소스를 다시 획득하러 가는 일이 있다.