웹 서버는 1대의 서버에서 멀티도메인으로 웹사이트를 실행하거나, 중계서버를 두어 통신 중 효율을 올릴 수 있다.
가상호스트
- 하나의 HTTP서버에 여러개의 웹 사이트 실행 가능(HTTP/1.1) - 가상호스트 기능
- 가상호스트 기능: 물리적으로 서버는 1대, 가상으로 여러 대 있는 것 처럼 설정
통신 중계 프로그램
- 통신 중계 프로그램과 서버는 그 다음에 있는 다른 서버에 리퀘스트 중계
- 그 서버로부터 받은 리스폰스를 클라이언트에 반환하는 역할을 담당
프록시
- 서버와 클라이언트 양쪽 역할 중계
- 클라이언트로부터 서버에 리퀘스트 전송
- 클라이언트의 리퀘스트 URI를 변경하지 않고 서버에 전송
- 서버로부터 클라이언트에 리스폰스 전송
- 프록시 서버를 사용하는 이유
- 캐시를 사용해서 네트워크 대역 등 효율적 사용을 위해
- 조직 내 특정 웹 사이트에 대한 엑세스 제한, 엑세스 로그를 획득하는 정책을 지키기 위해
- 프록시 사용방법
- 캐시 하는지 여부
- 메시지를 변경하는지 여부
- 캐싱 프록시(Cashing Proxy)
- 프록시로 리스폰스 중계 시, 프록시 서버 상 리소스 캐시를 보존해 두는 타입의 프록시
- 투명 프록시(Transparent Proxy)
- 프록시로 리퀘스트와 리스폰스 중계 시, 메시지를 변경하지 않는 타입의 프록시
- 반대로, 메시지 변경하는 프록시는 비투과 프록시
게이트웨이
- 다른 서버를 중계하는 서버
- 클라이언트로부터 수신한 리스폰스를, 리소스를 보유한 서버인 것 처럼 수신
- 동작방식이 프록시와 유사
- 게이트웨이는, 그 다음에 있는 서버가 HTTP서버 이외의 서비스를 제공하는 서버
- 클라이언트와 게이트웨이 사이의 암호화 등으로 안전하게 접속 => 통신의 안전성을 높임
- 예) 데이터베이스 접속 및 SQL 쿼리를 사용해서 데이터를 얻는 곳에서 사용
- 예) 쇼핑사이트 등 신용카드 결제시스템 등과 연계 시 사용
터널
서로 떨어진 두 대의 클라이언트와 서버사이를 중계
요구에 다라 다른 서버와의 통신경로를 확립
예) 서버와 안전한 통신을 위해, 클라이언트는 SSL 같은 암호화 통신을 사용
터널을 사용하여 서버와 안전하게 통신
터널은 통신하는 양쪽 끝의 접속이 끊어지면 종료됨
리소스를 보관하는 캐시(Cache)
캐시는 유효기간이 있다
캐시
- 프록시 서버와 클라이언트 로컬 디스크에 보관된 리소스 사본
- 캐시 사용 시, 리소스를 가진 서버에 엑세스 감소 => 통신량과 통신시간 절약
- 캐시서버
- 프록시 서버 중 하나
- 캐싱 프록시로 분류
- 프록시가 서버로부터 리스폰스 중계 시, 프록시 서버상에 리소스 사본을 보존
- 장점
- 캐시를 쓰면 같은 데이터를 몇번이고 오리진 서버에 전송할 필요 없음
- 서버는 매번 리퀘스트 처리 불필요
캐시되어 있는 리소스의 유효성
- 같은 캐시를 계속 사용 중에, 오리진 서버의 원래 리소스가 갱신되는 경우 발생
- 이 때, 캐시 서버는 갱신 전의 낡은 리소스를 오리진 서버에 보냄
- 클라이언트 요구, 캐시의 유효기간 만료 시 오리진 서버에 리소스를 보내고,
- 오리진 서버에 리소스 유효성 확인 및 새로운 리소스 다시 가지러 감
클라이언트 측에도 캐시가 있다
인터넷 임시파일
- 브라우저가 유효한 캐시를 가지는 경우,
- 같은 리소스에 엑세스할 때 서버에 리소스를 요청하지 않고 로컬디스크로부터 가져온 후 엑세스 함
- 캐시 서버와 동일하게, 리소스가 오래된 것으로 판단되면,
- 오리진 서버에 리소스의 유효성 확인하러 가거나
- 새로운 리소스를 다시 얻으러 감
'컴퓨터과학 🖥️ > 네트워크' 카테고리의 다른 글
[Network] HTTPS 구조 (0) | 2024.08.15 |
---|---|
[Network] HTTP 헤더 (0) | 2024.07.25 |
[Network] HTTP 상태코드 (0) | 2024.07.02 |
[Network] HTTP 정보와 HTTP 메시지 (0) | 2024.07.02 |
[Network] 메시지 바디 vs. 엔티티 바디 (0) | 2024.07.01 |