1. 웹 서버 (Web Server)?
- HTTP 프로토콜을 사용하여 클라이언트로부터 요청을 받고, 정적인 콘텐츠 처리 (HTML, CSS, 이미지, JS)
- 대표적으로 아파치(Apache)와 엔진엑스(Nginx)가 있다.
- 웹 페이지의 전달과 같은 단순한 기능 수행
2. WAS (Web Application Server)?
- JSP, EJB, Servlet 등의 동적인 콘텐츠 생성과 데이터 처리에 특화
- 대표적으로 Apache Tomcat, Red Hat JBoss, IBM WebSphere 등이 있다.
- Web Server의 기능들을 분산 처리하고자 사용된다. (분산 환경에서 사용됨)
- 주로 DB와의 상호작용, 트랜잭션 관리, 보안, 로드 밸런싱, 비즈니스 로직 처리 등 다양한 기능 수행
- '웹 컨테이너' 또는 '서블릿 컨테이너'라고 불린다. -> JSP, Servlet을 실행시킬 수 있는 소프트웨어 (그림 참조)
- 웹 애플리케이션의 실행 환경을 제공하며, 다른 서버와의 통신을 통해 필요한 데이터를 가져와 동적인 응답을 생성
3. 웹 서비스 구조 차이점
- 웹 서비스는 클라이언트와 서버 간의 상호작용을 위한 솔루션으로, 다양한 시스템 간 통신을 가능하게 한다.
- 주로 SOAP(Simple Object Access Protocol) 또는 REST(Representational State Transfer)프로토콜을 사용하여 통신
- SOAP기반 웹 서비스는 XML 기반의 메시지 포맷을 사용하며, WSDL(Web Services Description Language)로 서비스를 설명
- RESTful웹 서비스는 주로 JSON이나 XML을 사용하며, HTTP메소드(GET, POST, PUT, DELETE 등)을 통해 자원에 접근
웹 애플리케이션을 구성할 때는 웹 서버와 WAS 서버를 함께 사용하여 역할을 분담하고 최적의 성능을 내도록 하는 것이 일반적이다. 웹 서비스는 클라이언트와 서버 간의 상호작용을 위한 솔루션이며, SOAP와 REST 프로토콜을 사용하여 통신한다.
'CS > IT관련..' 카테고리의 다른 글
멀티스레드 환경에서 동기화와 비동기화의 차이점과 사용 시기 (0) | 2025.02.23 |
---|---|
Port 열렸는지 확인하는 방법 (0) | 2024.05.28 |
[IT 용어] 실제 프로젝트에서 사용하는 용어 정리 (0) | 2023.05.23 |