일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가상스레드
- 스프링부트
- 알고리즘
- ACC
- 보안
- express
- node
- ERD
- 네트워크
- mysql
- wecode
- TCP/IP
- awscloudclubs
- 백엔드프로젝트
- AWS
- github
- 프로토콜
- 정보처리기사
- CS
- 환경변수
- 대용량트래픽
- javascript
- TCP
- Amazon
- 클라우드
- cloudclubs
- 프로젝트
- IP
- 피드시스템
- 위코드
- Today
- Total
아무튼!
[CS] Web/Was란? 본문
Web과 Was란?
1. Web(Web Server)이란?
웹서버에 대해 알기 위해서는 먼저 웹과 서버에 대해서 알아야 한다. 서버에 관하여 이야기할 때에는 웹서비스를 웹이라고 말하기도 하지만 이 글에서는 구분을 명확히 하기 위하여 두 단어를 구분하여 사용하겠다.
1-1. 웹(Web)이란?
WWW(World Wide Web)이라 부르기도 하며 인터넷 망에서 거미줄같이 사용자들끼리 양방향으로 정보와 서비스를 주고받을 수 있는 환경을 뜻한다. 웹을 작동하기 위해서는 웹 서버, 웹 클라이언트, 웹 브라우저, 프로토콜(HTTP), 웹 애플리케이션 등이 필요하다.
1-2. 서버(Server)란?
서버란 '제공하다'라는 뜻의 'Serve'와 '-하는 사람'이라는 뜻을 지닌 접미사 '-er'가 합쳐진 단어이다. 즉 클라이언트에게서 온 요청에 따라 정보나 서비스를 응답해 주는 시스템을 뜻한다.
그렇다면 웹 서버(Web Server)란 무엇일까?
웹서버는 소프트웨어와 하드웨어로 구분하여 표현할 수 있다.
- 소프트웨어적 의미
- 웹 브라우저 클라이언트로부터 HTTP 요청을 받고 정적인 형태의 응답(html, css, jpg 등)을 제공하는 컴퓨터 프로그램
- 하드웨어적 의미
- 위의 기능을 수행하는 웹서버가 설치되어 있는 컴퓨터
이러한 기능 외에도 동적인 콘텐츠 제공을 위해 클라이언트와 WAS의 중간에서 요청과 응답을 전달해 주는 역할을 하기도 한다.
EX) Apache, IIS, Nginx, GWS 등
2. 웹 애플리케이션 서버(WAS, Web Application Server)란?
'웹 응용 서버'라고 불리기도 하는 웹 애플리케이션 서버(WAS)는 데이터베이스 조회나 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위해 만들어진 애플리케이션 서버이다. 인터넷상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진역할을 수행한다.
WAS는 웹 서버의 기능들을 구조적으로 분리하여 처리하고자 하는 목적으로 생겨났다. 따라서 WAS는 여러 개의 트랜잭션을 관리할 수 있으며 보안, 메시징, 스레드 처리 등의 기능을 처리하는 분산 환경에서 사용된다.
요약하자면 WAS는 웹 서버와 JSP, Servlet을 실행시킬 수 있는 웹 컨테이너로 이루어진 서버이다.
EX) Tomcat, WebSphere, JBoss 등
WAS는 정적인 콘텐츠를 관리하는 Web Server의 역할까지 수행할 수 있다.
'그러면 WAS로 모든 콘텐츠를 처리하면 되는 것 아닌가?'라고 생각되기도 한다.
하지만, 이들은 사용 목적에 따라 구분되어 사용되는 것이 권장된다.
이유는 다음과 같다.
- WAS를 통해 정적인 콘텐츠를 관리하는 것보다 웹 서버가 더욱 빠르고 안정적이게 정적인 콘텐츠를 처리할 수 있다.
- 일반적으로 웹은 정적인 콘텐츠와 동적인 콘텐츠가 혼합되어 있는데, WAS가 정적 콘텐츠까지 처리하게 되면 그동안 동적 콘텐츠의 처리가 늦어지게 되고 서버 부하가 발생할 수 있다.
따라서 웹 사이트를 구동하고 관리하는 데에는 목적과 상황에 맞추어 웹 애플리케이션 서버와 웹 서버를 적절하게 혼합하여 운용할 것이 요구된다.
참조
https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html
https://dataonair.or.kr/db-tech-reference/d-lounge/expert-column/?mod=document&uid=52353
'Computer Science (CS) > CS' 카테고리의 다른 글
[Network] IP 사용자 정보 확인하기 (구글, 네이버) (1) | 2024.12.12 |
---|---|
[CS] 메시지 전송 방식 - 브로드/멀티/유니 캐스트 (0) | 2024.06.13 |