웹 서버와 웹 애플리케이션 서버

2024. 6. 25. 14:33·Backend Programming

두 서버가 하는일?

웹 서버와 애플리케이션 서버는 인터넷 상에서 데이터와 서비스를 교환할 수 있는 기술입니다

웹 사이트 또는 애플리케이션을 방문하면 브라우저(클라이언트)가 원격 서버에 데이터를 요청하고 응답을 표시합니다.

세부적으로는?

웹 서버는 클라이언트 요청에 응답하여 이미지, 파일, 텍스트와 같은 정적 데이터를 제공하는 소프트웨어 구성 요소입니다.

애플리케이션 서버는 비즈니스 로직을 추가하여 웹 서버의 응답을 계산합니다. 대부분 동적 콘텐츠를 제공합니다.

 

정적, 동적 컨텐츠의 예

- 이미지 파일(예: PNG, GIF 및 JPEG), 다운로드 가능한 문서(PDF), 비디오 및 HTML 파일은 모두 정적 콘텐츠입니다.

- 동적으로 생성되는 보고서, 사용자 지정된 데이터 표현, 개인화된 UI, 데이터베이스 결과 및 처리된 HTML은 모두 동적 콘텐츠입니다.

웹 서버 작동 방식

웹 서버는 웹 사이트의 코드와 데이터를 호스팅하는 기술입니다. 브라우저에 URL을 입력할 때 이 URL은 실제로 웹 서버의 주소 식별자입니다.

 

브라우저와 웹 서버는 다음과 같이 통신합니다.

  1. 브라우저는 URL을 사용하여 서버의 IP 주소를 찾습니다.
  2. 브라우저는 정보에 대한 HTTP 요청을 보냅니다.
  3. 웹 서버는 데이터 베이스 서버와 통신하여 관련 데이터를 찾습니다.
  4. 웹서버는 HTTP 응답으로 HTML 페이지, 이미지, 비디오 또는 파일과 같은 정적 컨텐츠를 브라우저에 반환합니다.
  5. 그러면 브라우저가 정보를 표시합니다.

URL(Uniform Resource Locator)이란?

웹 상에서 자원의 위치를 나타내는 표준 주소 체계입니다. 쉽게 말해, 인터넷에서 특정 페이지, 파일, 이미지, 동영상 등 다양한 자원을 찾기 위해 사용하는 주소입니다.

 

Http란?

웹 상에서 브라우저와 서버가 데이터를 주고 받을때 사용하는 프로토콜이다.

 

애플리케이션 서버 작동 방식

애플리케이션 서버는 동적 콘텐츠 생성, 애플리케이션 로직 및 다양한 리소스와의 통합을 지원하여 웹 서버의 기능을 확장합니다. 애플리케이션 코드를 실행하고 메시징 시스템 및 데이터베이스와 같은 다른 소프트웨어 구성 요소와 상호 작용할 수 있는 런타임 환경을 제공합니다. 비즈니스 로직을 사용하여 웹 서버보다 더 의미 있게 데이터를 변환합니다.


웹 사이트에서 대화형 콘텐츠에 액세스하려고 할 때 프로세스는 다음과 같이 작동합니다.

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

전자 상거래 웹 사이트를 예로 들면, 사용자는 장바구니에 항목을 추가하거나 물품을 결제할 때 애플리케이션 서버와 상호 작용합니다.

 

주요 차이점

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

 

 

 

참고자료

https://aws.amazon.com/ko/compare/the-difference-between-web-server-and-application-server/

 

웹 서버와 애플리케이션 서버 - 기술 서버 간의 차이점 - AWS

웹 서버와 애플리케이션 서버의 차이점은 무엇인가요? 웹 서버와 애플리케이션 서버는 인터넷 상에서 데이터와 서비스를 교환할 수 있는 기술입니다. 클라이언트-서버 아키텍처는 인터넷의 기

aws.amazon.com

 

저작자표시 (새창열림)

'Backend Programming' 카테고리의 다른 글

스프링 빈과 애플리케이션 컨텍스트 그리고 AOP??  (0) 2024.06.29
MVC 패턴이란 무엇일까?  (0) 2024.06.28
스프링의 컨트롤러, 서비스, 레포지토리가 무엇인가?  (0) 2024.06.27
JDBC, JPA가 무엇이냐?  (0) 2024.06.26
데이터 베이스 테이블?  (0) 2024.06.26
'Backend Programming' 카테고리의 다른 글
  • MVC 패턴이란 무엇일까?
  • 스프링의 컨트롤러, 서비스, 레포지토리가 무엇인가?
  • JDBC, JPA가 무엇이냐?
  • 데이터 베이스 테이블?
chanheess
chanheess
'왜' 그렇게 했는가?에 대한 생각으로 공부 및 작업의 저장관리
  • chanheess
    왜 그렇게 생각했는가?
    chanheess
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Backend Programming
      • Game Programming
        • Unreal
        • DirectX
      • C++
        • Memo
        • Basic
        • Effective Modern
      • Algorithm
        • Memo
        • Baekjoon
        • Programmers
        • HackerRank, LeetCode
      • Data Structure
      • Design Pattern
      • Etc
        • Memo
        • Daily Log
        • Book
  • 최근 글

  • 최근 댓글

  • 태그

    JPA
    위클리 챌린지
    알고리즘
    JWT
    오블완
    dp
    백준
    SpringSecurity
    c++ 기초 플러스
    프로그래머스
    Java
    spring
    dfs
    티스토리챌린지
  • hELLO· Designed By정상우.v4.10.0
chanheess
웹 서버와 웹 애플리케이션 서버
상단으로

티스토리툴바