일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- SSMS
- VS Code
- coloring rules
- 패킷 필터
- winmail.dat
- Dreamhack
- 업무 자동화
- 웹 크롤링
- power automate
- Revese Proxy
- server profiler
- db
- IPS
- 포렌식
- JavaScript
- 모듈화
- Kali Linux
- AutoHotkey
- kitri
- 인증서
- Log Parser
- IMAP
- Eclipse
- wireshark
- Postman
- Excel
- ES6
- mark/unmark
- 메일 프로토콜
- MSSQL
Archives
- Today
- Total
전산직으로 살아남기
웹서버과 WAS의 차이 본문
728x90
반응형
1. 웹서버란?
- 웹 서버(소프트웨어): 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
- 웹 서버(하드웨어): 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터
2. WAS(Web Application Server)란?
WAS는 웹 브라우저와 같은 클라이언트로부터 웹 서버가 요청을 받으면 애플리케이션에 대한 로직을 실행하여 웹 서버로 다시 반환해 주는 소프트웨어입니다. 웹 서버와 DBMS 사이에서 동작하는 미들웨어로써, 컨테이너 기반으로 동작합니다.
3. 웹서버와 WAS의 동작 과정
4. 웹서버와 WAS의 차이
웹 서버의 경우는 정적 컨텐츠(HTML, CSS, IMAGE 등)를 요청받아서 처리하고, WAS의 경우는 동적인 컨텐츠(JSP, ASP, PHP)를 요청받아 처리합니다.
5. 웹서버와 WAS를 나눠야 하는 이유
사실 WAS의 경우 웹 서버 + 웹 컨테이너의 개념이라 웹 서버가 없더라도 웹 서버의 역할을 동시에 수행할 수 있습니다. 그래서 웹 서버를 사용하지 않더라도 웹 서비스를 할 수는 있습니다. 그러나 현장에서는 웹 서버와 WAS를 나눠서 사용합니다. 그 이유는 아래와 같습니다.
1) 데이터 처리 방식
웹 서버는 정적인 컨텐츠를 처리하고 WAS는 동적인 컨텐츠를 처리합니다. 만약 WAS가 정적 데이터를 처리하게 되면, 동적 컨텐츠의 처리가 지연될 것이고 이로 인한 페이지 노출시간이 늘어나게 됩니다.
2) 보안
동작 과정 상 사용자에게 요청은 웹 서버가 받고, 그 요청을 웹 서버가 WAS에 전달합니다. 만약에 WAS에 바로 요청할 경우 WAS는 DB에 대한 접속 정보가 있기 때문에 외부로 노출될 경우 보안 상 문제가 될 수 있습니다.
6. 웹서버와 WAS의 종류
- Apache
Apache는 소프트웨어 단체 이름입니다. 그리고 우리가 흔히 부르는 아파치 서버는 이 재단에서 후원하는 오픈소스 프로젝트 커뮤니티에서 개발한 http 웹서버를 말합니다. - tomcat
tomcat은 흔히 WAS라고 말합니다. java로 웹 서비스를 구축한다면 주로 apache와 tomcat을 사용합니다. - IIS
IIS(Internet Information Services)는 마이크로소프트 윈도우를 사용하는 서버들을 위한 인터넷 기반 서비스들의 모임입니다. 웹서버로 이해하면 되며 세팅을 통해 WAS로도 사용할 수 있습니다. ASP로 웹 개발을 한다면 MS 서버에 IIS만 세팅하여 웹 서비스를 구현할 수 있습니다. - Nginx
Nginx(엔진 X라고 읽음)는 대용량 트래픽을 처리하기 위해 가벼움과 높은 성능을 목표로 하는 경량 웹 서버입니다. 초기에는 정적 파일을 제공하는 웹 서버로 Apache를 보조하는 역할을 수행하였지만 오늘날에는 리버스 프록시, 로드 밸런서, 메일 프록시 및 HTTP 캐싱 등 전체 범위의 서버 작업을 처리하는 웹 서버로 발전하였습니다. 각 웹 서버의 차이점을 간단하게 정리하면 아래와 같습니다.
- Nginx: 이벤트 중심 접근 방식으로 하나의 스레드에서 여러 요청을 처리
- Apache: 프로세스 기반 접근 방식으로 하나의 스레드가 하나의 요청을 처리
출처
728x90
반응형
'Security > Application' 카테고리의 다른 글
REST API 이해하기 (0) | 2024.06.05 |
---|---|
Proxy Server 이해하기 (0) | 2024.05.24 |
IIS Log 분석하기 (0) | 2024.05.13 |
GET, POST 이해하기 (0) | 2024.04.22 |
SSL과 인증서 구조 (0) | 2024.04.17 |