2021-10-6 그림으로 배우는 Http & Network (5주차)
HTTP와 연계하는 웹 서버
1대로 멀티 도메인을 가능하게 하는 가상 호스트
- 가상 호스트 기능을 사용하면 물리적으로는 서버가 1대지만 가상으로 여러대가 있는 것처럼 설정하는 것이 가능하다
- 도메인명 - DNS - IP주소로 변환되고 액세스하게 된다
통신을 중계하는 프로그램 : 프록시, 게이트웨이, 터널
프록시
- 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램으로, 클라이언트로부터의 리퀘스트를 서버에 전송하고, 서버로부터의 리스폰스를 클라이언트에 전송한다.
- 캐시를 사용해서 네트워크 대역 등을 효율적으로 사용, 특정 웹사이트에 대한 액세스 제한, 액세스 로그를 획득하는 정책을 철저하게 지키려는 목적으로 사용
- 캐싱 프록시 - 프록시로 리스폰스를 중계하는 때에는 프록시 서버 상에 리소스 캐시를 보존해두는 타입 다시 같은 리퀘스트가 온 경우 캐시를 리스폰스로서 되돌려 준다.
- 투명 프록시 - 리퀘스트와 리스폰스를 중계할 때 메시지 변경을 하지 않는 타입의 프록시 - 반대로 메시지에 변경을 가하는 프록시는 비투과 프록시라고 한다
게이트웨이
- 동작은 프록시와 매우 유사 - 그 다음에 있는 서버가 HTTP 서버 이외의 서비스를 제공하는 서버
- 예 - 데이터베이스에 접속해 SQL 쿼리를 사용해서 데이터를 얻는 곳에 이용할 수 있다
터널
- 서로 떨어진 2대의 클라이언트와 서버 사이를 중계하며 접속을 주선하는 중계 프로그램
리소스를 보관하는 캐시
- 캐시는 프록시 서버와 클라이언트의 로컬 디스크에 보관된 리소스의 사본을 가리킨다.
- 캐시를 사용하면 리소스를 가진 서버에 액세스를 줄인다.
- 캐시는 유효기간등에 의해서 오리진 서버에 리소스의 유효성을 확인하거나 새로운 리소스를 다시 획득하러 가게 되는 경우가 있다.
HTTP 헤더
HTTP 메시지 헤더
리퀘스트의 HTTP 메시지
- 메소트, URI, HTTP 버전, HTTP 헤더 필드 등으로 구성되어 있다.
리스폰스의 HTTP 메시지
- HTTP 메시지와, 버전, 상태 코드, HTTP 헤더 필드 등으로 구성
HTTP 헤더 필드 구조
- 헤더 필드 명 : 필드 값 - Content-Type : text/html
4종류의 HTTP헤더 필드
- 일반적 헤더 필드- 리퀘스트 메시징와 리스폰스 메시지 둘다 사용되는 헤더
- 리퀘스트 헤더 필드 - 리퀘스트 메시지에 사용되는 헤더, 리퀘스트의 부가적 정보, 리스폰스 콘텐츠에 관한 우선 순위
- 리스폰스 헤더 필드 - 리스폰스의 정보, 추가 정보 요구
- 엔티티 헤더필드 - 엔티티에 사용되는 헤더, 콘텐츠 갱신 시간등 엔티티에 관한 정보
Written on October 6, 2021