천객만래 [千客萬來] (It has an interminable succession of visitors)

WAS(Web Application Server)


서버단에서 애플리케이션을 동작할 수 있도록 지원한다. 일반적으로 컨테이너라는 용어로 사용된다. 초창기에는 CGI, 그 이후에는 Servlet, ASP, JSP, PHP 등의 프로그램으로 사용되고 있다.

인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)이다.

웹 애플리케이션 서버는 대부분이 자바 기반으로 주로 Java EE 표준을 수용하고 있으나, 자바 기반이지만 Java EE 표준을 따르지 않는 제품과 .NET이나 Citrix 기반인 비Java 계열도 존재한다.


웹 애플리케이션 서버의 기본 기능은 3가지이다.


프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.

여러 개의 트랜잭션을 관리한다.

업무를 처리하는 비즈니스 로직을 수행한다.

Posted by SB패밀리

HTTP 압축은 gzip 등의 알고리즘을 사용해서, HTTP 를 통해서 전송되는 데이터의 양을 최고 50%로 압축하는 기술입니다. ASP.NET 으로 만든 페이지들의 사이즈가 커서 Response Time 이 느리거나, 낮은 대역폭 - 이를테면 56K 라인 - 의 사용자들까지도 지원할려고 한다면, 그리고 더 많은 사용자를 지원하기 위해서 서버의 대역폭을 아껴쓰고자 할 때 상당히 유용합니다

HTTP 압축을 위한 상용 모듈도 있습니다만, Windows 2003에 내장된 IIS 6.0에서는 자체적으로도 지원을 합니다. IIS 관리자에서 아주 간단하게 설정을 할 수 있죠. IIS 관리자를 열어서, 트리의 "웹 사이트" 노드에다 마우스 오른쪽 버튼을 클릭하면 나오는 메뉴 중에서 속성을 선택합니다. 그리고 "서비스" 탭을 선택하면 다음과 같은 화면이 나올텐데요. 간단하게 체크만 해주고, IIS를 한번 Restart 시켜주면 바로 HTTP 압축을 사용할 수가 있습니다



하지만, 이렇게만 했을 경우에 ASP.NET 의 aspx 는 압축되어서 내려가지 않습니다. IIS가 압축하는 파일 유형에 포함되어 있지 않기 때문인데요. aspx도 포함을 시키기 위해서는 WIN_DIR\System32\inetsrv\metabase.xml 파일을 편집해야 합니다. 이 파일에서 <IIsCompressionScheme> 노드를 찾아야 합니다
 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
  HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
  HcCreateFlags="0"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="FALSE"
  HcDynamicCompressionLevel="0"
  HcFileExtensions="htm
   html
   txt"
  HcOnDemandCompLevel="10"
  HcPriority="1"
  HcScriptFileExtensions="asp
   dll
   exe
   aspx"
 >
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
  HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
  HcCreateFlags="1"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="TRUE"
  HcDynamicCompressionLevel="0"
  HcFileExtensions="htm
   html
   txt"
  HcOnDemandCompLevel="10"
  HcPriority="1"
  HcScriptFileExtensions="asp
   dll
   exe
   aspx"
 >
</IIsCompressionScheme>
 
빨간 색으로 되어 있는 부분처럼, aspx확장자를 추가시켜주면 그때부터 aspx파일에 대해서도 IIS가 HTTP 압축을 수행할 것입니다. (이 파일은 편집하기 위해서 IIS를 잠시 멈춰야 편집을 할 수 있습니다)
 
당연한 거겠지만, 압축을 수행하는 서버와 압축된 컨텐트를 받아서 풀어서 보여줘야 하는 클라이언트 양쪽에 약간씩의 CPU 부담이 있습니다. 하지만 30-50%에 이르는 압축율은 성능 향상과 대역폭 절약이라는 엄청난 이점을 가져오기 때문에, Windows 2003을 사용하는 웹 사이트에서는 충분히 사용할만한 기술인 것 같습니다
Posted by SB패밀리