ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹 서버, 웹 어플리케이션
    Technique/WEB 2017. 6. 13. 10:16
    반응형

    서버 ( Web Server )


    인터넷 상에서 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML 문서와 같은 페이지들을 보내주는 역할을 하는 프로그램.

    간단히 말하면 HTTP 요청에 따라 서버에 저장되어 있는 적절한 페이지를 클라이언트에게 전달하는

    페이지 뿐만 아니라 그림, 스타일 시트, 자바스크립트도 해당

     

    주로 서버에 있는 리소스를 전달하는게 주된 기능이기도 하지만, 클라이언트로부터 컨텐츠를 받는 것도 서버 기능에 포함되어 있다.

     

    제품명

    제작사

    최신버전

    라이센스

    아파치

    아파치 재단

    2.4.4

    오픈소스

    IIS

    마이크로 소프트

    8.0

    상용( 윈도우 서버 이용시 무료 )

    nginx

    Nginx.inc

    1.5.1

    오픈소스

    GWS

    구글

     

     

     

    어플리케이션 서버 ( Web Application Server / WAS )

     

    인터넷 상에서 HTTP 통해 사용자 컴퓨터나 장치에 어플리케이션을 수행해주는 미들웨어

    단순하게 WAS 불리고, Servlet, ASP, JSP, PHP등의 언어로 작성된 어플리케이션을 서버단에서 실행한 실행 결과값을 사용자에게 넘겨주게 되고, 이를 브라우저가 결과를 해석해서 화면에 표시하는 순으로 동작한다.

     

    기본 기능

    • 프로그램 실행 환경과 데이터베이스 접속 기능을 제공
    • 여러 개의 트랜잭션을 관리
    • 업무를 처리하는 비지니스 로직 수행

     

    WAS 명확한 정의가 존재하지 않기 때문에 일부 기능만 가진 어플리케이션 서버도 많이 존재하고 있다.


    제품명

    제작사

    최신버전

    라이센스

    제우스

    한국 티맥스소프트

    7.c

    상용

    웹로직

    미국 오라클

    10.3.6

    상용

    스피어

    미국 IBM

    7.c

    상용

    레진

    미국 Caucho

    4.0.7

    상용

    글래스 피시

    미국 오라클

    3.1.2.2

    오픈소스

    제이보스

    미국 레드햇

    7.1.0.CR1b

    오픈소스

    인터스페이지

    일본 후지쯔

    9.0.0

    상용

    아파치 톰캣

    Apache  재단

    7.0.4.1

    오픈소스

    제이런(Jrun)

    Adobe

    4.0

    상용

    Winston Servlet Container

    Rick Knowles

    0.9.10

    오픈소스

    Jetty

    Eclipse 파운데이션

    3.0

    오픈소스


     

     

     

     

    차이 구성


    기능적인 차이로 구분을 지어 사용된다.

    서버는 정적 데이터를 처리하는 용도, 어플리케이션 서버는 동적 데이터를 처리하는 용도로 나눌 있다.

    그러나 톰캣의 경우처럼 어플리케이션 서버에 서버 기능을 포함된 서버 프로그램도 존재한다.

    간단히 집에서 서버 기능이나, 어플리케이션을 이용하고자 한다면 톰캣만 설치해도 가능하다.

    반대로 서버에서 내부에 어플리케이션을 동작할수 있는 기능을 내장하기도 한다. 간단한 사이트를 구축한다면 서버와 어플리케이션 서버를 구분 지어 사용할 필요는 없다.

     

    1. 스위치 -  WAS

    사이트의 가장 기본적인 구성환경이다. 모든 컨텐츠를 WAS 모아 놓가 WAS 서버와 어플리케이션 서버 역할을 동시에 수행한다. 트래픽이 많지 않고, 간단한 사이트 서비스를 제공하거나, 개발 테스트 시스템 구성시 활용하기도 한다.

    스위치로 로드밸런싱을 하기 때문에 쉽게 다른 WAS 설치하여, 부하를 분산 시킬 있는 장점이 있는 반면에, WAS 웹서버와 어플리케이션 서버 역할을 동시에 수행하기 때문에 각각의 기능이 다른 기능 수행시 부하를 발생 시킬 있기 때문에 성능 저하가 나타날 있는 단점을 가지고 있다.

     

    1. 스위치 - 웹서버 - WAS

    서버와 WAS 기능적 분류를 통해 효과적인 분산을 유도한 형태. 정적인 데이터는 서버가, 동적인 데이터는 WAS 담당하게 함으로써 간단한 위의 구조보단 조금더 나은 성능을 발휘 있다.

     

    1. ( 스위치 - 웹서버 - WAS ) + 이미지용 서버

    초고속 인터넷이 발달함에 따라 고화질의 이미지나 동영상을 제공하는 페이지가 증가하고 있다. 이러한 페이지는 네트워크 비중의 상당 부분을 차지한다. 그래서 고화질 이미지나 동영상 데이터 제공을 위한 서버를 따로 추가하여, 기존 네트워크 비중도 줄이고, 기존의 서버와 WAS 효율 적으로 사용할 있도록 하는 구성이다.

     

    1. 스위치 - 웹서버 - WAS( 프리젠테이션 ) - WAS ( 비지니스 )

    구조는 2 구조를 변경한 형태이다. WAS 단의 프로그램들이 많은 비중을 차지할 경우 Presentration Logic 담당하는 프로그램과 Business Logic 담당하는 프로그램을 구분하여 각각의 WAS 처리하도록 분리 시키는 형태이다.

    이러한 구조는 계층 구조의 부하를 적절히 분산할 있는 반면, 구조가 복잡하져 유지/보수 어려워 지는 단점을 가지고 있다.

     

    WAS 웹서버가 동시에 필요한 이유는 뭘까?

     

    우리가 만드는 페이지는 정적인 컨텐츠만 존재하는 것이 아니라, 동적인 컨텐츠도 함께 노출되게 된다.

    WAS 정적 데이터를 처리로 인해 동적 컨텐츠의 처리가 지연 것이고, 이로 인한 페이지 노출 시간이 늘어나게 된다.

    WAS 동적 처리에 최적화 되어 있는 서비스이기 때문에, 처리 속도를 위해, 정적 처리는 서버에서 처리를 하고, 동적 컨텐츠는 WAS 에서 처리하게 된다. 분산 처리를 위한 것이라 있다.

    사용자가 클라이언트( 브라우저 ) 요청을 하게되면 이를 서버에서 반응하여 WAS 처리를 거쳐 웹페이지로 다시 웹서버에서 클라이언트( 브라우저) 응답 메시지를 주는 것이다.

    서버가 처리할 있는 형태로 가공하여 제공해줄 있는 어플리케이션 정도랄까?

    WAS 사용하는 이유는 서버에서는 문서만 처리하도록 기능을 분배하여 서버의 부담을 줄이기 위함이라는 이라 있다


    반응형

    'Technique > WEB' 카테고리의 다른 글

    HTTP 프로토콜  (0) 2019.09.16
    웹 프로그래밍  (0) 2019.09.16
    [ 펌 ]HTTP의 새로운 상태 코드: 103 Early Hints  (0) 2017.05.11
    [ 펌 ] user-agent string 의 역사  (0) 2016.12.30
    웹사이트 크롤링과 인덱싱, robots.txt  (0) 2016.12.21

    댓글

Designed by Tistory.