Web Server & Web Application Server(AWS), Reverse Proxy

류장원·2024년 8월 30일
post-thumbnail

📗 본문 내용

1. Web Server

✅ 정의

  • HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램이다.
  • 하드웨어 측면 : 웹 서버는 웹 서버의 소프트웨어와 website의 컴포넌트 파일들을 저장하는 컴퓨터이다.
  • 소프트웨어 측면 : 웹 서버(HTTP 서버로 국한)는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리한다.

✅ 작동 방식

  • 웹 서버는 웹 사이트의 코드와 데이터를 호스팅하는 기술이다.
  1. 브라우저는 URL을 사용하여 서버의 IP 주소를 찾는다.
  2. 브라우저는 정보에 대한 HTTP 요청을 보낸다.
  3. 웹 서버는 데이터베이스 서버와 통신하여 관련 데이터를 찾는다.
  4. 웹 서버는 HTTP 응답으로 HTML 페이지, 이미지, 비디오 또는 파일과 같은 정적 콘텐츠를 브라우저에 반환
  5. 브라우저가 정보 표시

2. Web Application Server(WAS)

✅ 정의

  • 다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버
  • HTTP 프로토콜을 기반으로 하여 클라이언트의 요청에 따라 구현된 비즈니스 로직을 통해 동적으로 만들어진 컨텐츠를 반환

✅ 작동 방식

  • 애플리케이션 서버는 동적 콘텐츠 생성, 애플리케이션 로직 및 다양한 리소스와의 통합을 지원하여 웹 서버의 기능을 확장
  1. 브라우저는 URL을 사용하여 서버의 IP 주소를 찾습니다.
  2. 브라우저는 정보에 대한 HTTP 요청을 보냅니다.
  3. 웹 서버는 요청을 애플리케이션 서버로 전송합니다.
  4. 애플리케이션 서버는 비즈니스 로직을 적용하고 다른 서버 및 서드 파티 시스템과 통신하여 요청을 수행합니다.
  5. 애플리케이션 서버는 새 HTML 페이지를 렌더링하고 이를 응답으로 웹 서버에 반환합니다.
  6. 웹 서버는 브라우저에 응답을 반환합니다.
  7. 브라우저가 정보를 표시합니다.

3. Web Server VS Web Application

  • 다루는 태스크
    • 웹 서버 : 간단한 요청에 대한 응답을 제공
    • 웹 어플리케이션 : 데이터베이스, 서비스 및 엔터프라이즈 시스템의 더 복잡한 콘텐츠를 제공
  • 사용되는 프로토콜
    • 웹 서버 : 주로 HTTP를 사용합니다. FTP와 SMTP도 지원
    • 웹 어플리케이션 : 많은 프로토콜을 지원
  • 콘텐츠 유형
    • 웹 서버 : HTML 페이지, 이미지, 비디오 및 파일과 같은 정적 콘텐츠를 제공
    • 웹 어플리케이션 : 실시간 업데이트, 개인화된 정보 및 고객 지원과 같은 동적 콘텐츠를 제공
  • 멀티스레딩
    • 웹 서버 : 일반적으로 멀티스레딩을 사용 X
    • 웹 어플리케이션 : 멀티스레딩을 사용하여 요청을 동시에 처리

4. Reverse Proxy

✅ 프록시(Proxy)

  • 프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킴

✅ 포워드 프록시(Foward Proxy)

  • 같은 내부망에 존재하는 클라이언트의 요청을 받아 인터넷을 통해 외부 서버에서 데이터를 가져와 클라이언트에게 응답해줌.​
  • 즉, 클라이언트가 서버에 접근하고자 할때, 클라이언트는 타겟 서버의 주소를 포워드 프록시에 전달하여, 포워드 프록시가 인터넷으로 요청된 내용을 가져오는 방식

✅ 리버스 프록시(Reverse Proxy)

  • 클라이언트와 웹 서버 간의 중개자 역할을 하는 서버로, 클라이언트로부터의 요청을 대신 받아 웹 서버에 전달하고, 웹 서버의 응답을 클라이언트에게 전달하는 역할

  • 필요성

    • 서버 부하 분산 : 들어오는 요청을 여러 대의 서버로 분산
    • 보안 강화 : 악성 요청 필터링, 접근 제한 등의 역할 수행
    • 캐싱 및 가속화 : 자주 사용되는 정적 파일을 캐시에 저장


🔍 참고 레퍼런스

profile
Mythos of Summer

0개의 댓글