웹 서버(Web Server)
인터넷 상에서 HTTP를 사용하여 클라이언트(웹 브라우저) 요청에 대한 응답을 제공하는 소프트웨어
웹 서버는 클라이언트로부터 요청된 웹 페이지나 파일을 찾아서 전송하며, 이를 위해 정적인 컨텐츠를 제공한다.
*정적인 컨텐츠(HTML, CSS, 이미지 등)
웹 서버의 주요 기능
- HTTP 프로토콜 지원
웹 서버는 클라이언트와 서버 간 통신에 사용되는 HTTP 프로토콜을 지원한다. - 정적 파일 제공
웹 서버는 클라이언트가 요청한 정적인 컨텐츠를 제공합니다. 예를 들어, HTML 파일, 이미지, CSS 파일 등을 제공한다. - MIME 타입 처리
웹 서버는 MIME(Multipurpose Internet Mail Extensions) 타입을 처리하여 클라이언트에게 올바른 파일 형식으로 데이터를 전송한다. - 가상 호스팅
웹 서버는 하나의 서버에서 여러 개의 도메인을 호스팅할 수 있도록 가상 호스팅(Virtual Hosting)을 지원한다. - 로깅
웹 서버는 서버에 접근한 클라이언트의 정보를 로그 파일에 저장하여 추적 및 분석할 수 있다. - 보안 기능
웹 서버는 SSL(Secure Socket Layer) 및 TLS(Transport Layer Security) 프로토콜을 지원하여 데이터의 보안을 유지한다. - 웹 서버 소프트웨어 확장성
웹 서버는 다양한 소프트웨어 확장 기능을 제공합니다. 예를 들어, Apache 웹 서버는 모듈 기능을 제공하여 다양한 기능을 추가할 수 있다.
WAS(Web Application Server)
웹 서버(Web Server)와는 달리, 동적인 웹 애플리케이션을 실행하기 위한 소프트웨어
WAS는 일반적으로 다음과 같은 기능을 제공한다.
- 서블릿 컨테이너
WAS는 서블릿 컨테이너를 포함합니다. 서블릿 컨테이너는 자바 서블릿과 JSP(Java Server Pages)를 실행하는 데 사용됩니다. 이를 통해 동적인 컨텐츠를 생성하고 처리할 수 있다. - 데이터베이스 연동
WAS는 데이터베이스와의 연동을 지원한다. 이를 통해 애플리케이션에서 데이터베이스를 사용할 수 있다. WAS는 대개 데이터베이스 풀링(pooling)이나 캐싱(caching)과 같은 고급 기능을 제공한다. - 트랜잭션 관리
WAS는 트랜잭션 관리를 제공한다. 이를 통해 애플리케이션에서 데이터베이스 트랜잭션을 처리할 수 있다. - 보안
WAS는 일반적으로 웹 서버보다 높은 보안 기능을 제공한다. WAS는 사용자 인증 및 인가, 보안 통신(SSL/TLS) 등의 기능을 제공한다. - 클러스터링
WAS는 클러스터링(Clustering)을 지원한다. 이를 통해 여러 대의 WAS 서버를 하나의 논리적인 서버처럼 사용할 수 있다. 이를 통해 애플리케이션의 가용성과 성능을 향상시킬 수 있다. - 웹 서비스 지원
WAS는 다양한 웹 서비스(Web Services) 프로토콜을 지원한다. 이를 통해 다른 애플리케이션과의 통합이 가능해진다. - 확장성
WAS는 일반적으로 다양한 소프트웨어 확장 기능을 제공한다. 예를 들어, Java EE(Java Enterprise Edition) 기반 WAS는 EJB(Enterprise JavaBeans)와 같은 기술을 제공하여 다양한 기능을 추가할 수 있다.
웹 서버와 WAS(Web Application Server) 차이점
- 역할과 기능
웹 서버는 주로 HTTP 프로토콜을 사용하여 정적인 웹 페이지와 파일을 제공하는 역할을 한다
WAS는 동적인 웹 애플리케이션을 실행하기 위한 소프트웨어이다. 서블릿 컨테이너를 포함하고 있으며, 데이터베이스 연동, 트랜잭션 관리, 보안, 클러스터링, 웹 서비스 지원 등의 고급 기능을 제공한다. - 언어와 환경
웹 서버는 다양한 언어와 환경에서 실행될 수 있다.
WAS는 대부분 자바(Java) 기반으로 작성되며, 자바 EE(Java Enterprise Edition) 플랫폼의 스펙을 준수한다. - 성능
웹 서버는 정적인 콘텐츠를 처리하기 때문에 빠른 속도와 낮은 리소스 사용량을 가진다.
WAS는 동적인 콘텐츠를 처리하므로 웹 서버보다 느릴 수 있지만 WAS는 애플리케이션에 맞는 스레드 풀, 데이터베이스 커넥션 풀링 등을 사용하여 성능을 최적화할 수 있다. - 배포 방식
웹 서버는 파일 기반으로 배포된다.
WAS는 자바 웹 애플리케이션(.war) 형식으로 배포된다. - 가격
대부분의 웹 서버는 오픈 소스로 제공되며, 무료로 사용할 수 있다.
대부분의 WAS는 상용 소프트웨어로 제공되며, 사용에 따라 라이선스 비용이 발생할 수 있다.
'개발일지' 카테고리의 다른 글
절차지향 / 객체지향 / 함수형 프로그래밍 (0) | 2023.04.04 |
---|---|
Stack과 Queue 그리고 Array와 Linked List (0) | 2023.04.04 |
트랜잭션(Transaction)이란 (0) | 2023.04.04 |
TCP와 UDP의 공통점과 차이점 (0) | 2023.03.31 |
프로세스와 스레드의 차이 (0) | 2023.03.31 |