WAS와 WEB 서버 차이

웹서버는 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에 요청을 하면 요청을 받아 정적 콘텐츠를 제공하는 서버입니다. 정적 콘텐츠는 HTML, CSS, 이미지, 파일 등의 콘텐츠가 제공됩니다.

WAS란 DB 조회 또는 다양한 로직의 처리가 요구되는 동적 콘텐츠를 제공하기 위해 만들어진 Application 서버입니다.

WAS(Web Application Server)란

웹서버란 무엇인가?

  • WEB Server 의미
  • 하드웨어: WEB 서버가 설치되어 있는 컴퓨터
  • 소프트웨어: 클라이언트로부터 HTTP 요청을 받아 정적 콘텐츠(html, Jpg, css 등)을 제공하는 컴퓨터
  • 개념
  • 정적 콘텐츠: WAS를 처치지 않고 바로 자원 제공
  • 동적 콘텐츠: 클라이언트 Requset를 WAS 보냄
  • 종류: Apache Server, Nginx, IIS, WebToB

WAS(Web Application Server)란?

  • 개념
  • DB 조회 및 로직 처리가 요구되는 동적 콘텐츠를 제공하기 위한 목적의 서버
  • Web Container 또는 Servlet Container 로 불림
  • Container는 Jsp, Servlet를 실행시킬 수 있는 소프트웨어를 뜻함.
  • 기능
  • 프로그램 실행 환경 및 DB 접속 기능
  • 여러 개 트랜잭션 관리 기능
  • 종류: Tomcat, Websphere, Weblogic, Jeus 등
※서블릿(Servlet)
서블릿(Servlet)은 자바로 작성된 웹 애플리케이션의 구성 요소 중 하나입니다. 서블릿은 웹 서버에서 동적인 웹 페이지를 생성하거나 웹 요청을 처리하기 위해 사용됩니다.

서블릿은 일종의 자바 클래스로, Java Servlet API에 정의된 규칙에 따라 작성됩니다. 이들은 주로 HTTP 요청을 처리하고, 클라이언트로부터 데이터를 받아 처리한 후, 동적인 웹 페이지나 다양한 형태의 응답을 생성합니다.

서블릿은 웹 애플리케이션 서버(예: Apache Tomcat, Jetty 등)에서 실행되며, 클라이언트로부터 오는 HTTP 요청을 처리하기 위해 사용됩니다. 주로 HTML을 생성하거나 데이터베이스와 상호 작용하여 동적인 콘텐츠를 생성하는 데 사용됩니다.
Server(서버)

WAS를 사용하는 이유

  • 정적 콘텐츠와 동적 콘텐츠를 분리함으로써 서버 부하 방지
    • 동적 콘텐츠 및 DB 조회는 정적 콘텐츠를 처리하는데 비해 시간이 소요되기 때문에 정적·동적 콘텐츠를 분리해서 관리하는 것이 효율적임
  • 보안 강화
    • DB가 외부로 노출될 경우 보안에 문제가 발생할 수 있어 웹서버와 WAS를 분리해서 사용하면 보안이 강화됨.

Similar Posts

  • Linux: 프로그램과 프로세스 및 스레드(3가지 용어 차이)

    리눅스 시스템에서 프로그램과 프로세스 스레드의 차이는 운영체제를 이해하는데 필요한 요소입니다. 목차웹서버란 무엇인가?WAS(Web Application Server)란?WAS를 사용하는 이유✅ 프로그램(Program)이란? 사전적 의미의 프로그램은 컴퓨터에서 실행 가능한 명령어들의 모음을 의미하며, 특정 작업을 수행하기 위해 개발된 소프트웨어(및 소프트웨어의 형태)입니다. ◼ 종류 ✅ 프로세스(Process)란? 프로세스는 프로그램이 실행되어 돌아가고 있는 상태로서 실행 중인 프로그램을 의미합니다. 프로그램은 메모리에 적재되어 CPU에 의해…

  • 리눅스 pwd 명령어 & realpath 명령어 | 절대 경로 위치 확인

    목차웹서버란 무엇인가?WAS(Web Application Server)란?WAS를 사용하는 이유✅ pwd 명령어 pwd 명령어는 Print Working directory의 약자로 현재 작업 디렉토리의 위치를 보여주는 명령어로 현재 사용자가 접속한 절대 경로를 표시합니다. 🔲 명령어 옵션 pwd 명령어는 간단한 명령어로 옵션은 2가지만 존재합니다. ✅ realpath 명령어 realpath 명령어는 실제 경로를 절대 경로로 보여주는 명령어로, 심볼릭 링크의 실제 경로를 확인할 때…

  • 리눅스 head 명령어 & tail 명령어

    리눅스 head 명령어는 파일의 처음 10줄을 보여주는 명령어이며, tail 명령어는 파일의 마지막 10줄을 보여주는 명령어입니다. 옵션 없이 사용할 경우 각각의 머리와 꼬리 부분을 보여주는 것을 알 수 있습니다. head와 tail 명령어는 보통 서버의 access_log를 볼 때 주로 많이 사용됩니다. 두 명령어의 사용법과 테스트 서버에서 access_log를 각각의 명령어를 통해 확인 해 보겠습니다. 목차웹서버란 무엇인가?WAS(Web…

  • [Linux] userdel 명령어: 사용자 계정 삭제 명령어

    리눅스에서 useradd로 계정 생성 후 삭제가 필요한 경우 userdel 명령어를 사용합니다. 목차웹서버란 무엇인가?WAS(Web Application Server)란?WAS를 사용하는 이유✅ userdel 명령어 기본 사용은 아래와 같습니다. ✅ userdel 주로 사용하는 옵션 userlde만 입력해서 사용자를 삭제할 경우 보통 /home/[user]로 계정명이 폴더에 버전에 따라 남아있거나 삭제되는데 /var/spool/mail/[user] 파일은 대부분의 리눅스에서 남게 됩니다. ✅ 사용자 계정 강제 삭제 제거할…

  • |

    컴파일 뜻 : 컴파일링이란?

    목차웹서버란 무엇인가?WAS(Web Application Server)란?WAS를 사용하는 이유 ■ 컴파일이란? 컴파일(compile)이란 프로그래머가 작성한 소스코드를 바이너리 파일로 변환하는 과정이다. 소스코드를 Compiler 하여 프로그램을 만들 수 있다. 요즘은 배포판 공급업체에서 이미 compile 된 바이너리 파일들을 저장소에 관리하는 것이 일반적인 사항이 되었으며, 서버로 다운로드 후 바로 사용할 수 있다. Ⅰ. 컴파일링과 링킹 compile 과정을 컴파일링(compiling)이라고 하며, 소스코드(사람일 읽을…

  • 리눅스 Rsync 명령어

    Rsync (Remote Sync) 는 네트워크를 통해 파일과 디렉터리를 효율적으로 동기화하는 백업 방식입니다. 전체 데이터를 매번 복사하는 대신 변경된 부분만 증분 방식으로 전송하여 빠르고 안정적인 동기화를 지원합니다. 또한 다양한 옵션을 통해 압축, 암호화, 권한 유지, 삭제 동기화 등 세밀한 제어가 가능하며, 백업과 서버 간 데이터 전송에 널리 사용됩니다. 특히 네트워크 대역폭을 절약하고, 재 전송…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 8   +   1   =