웹 서버와 프로그래밍 언어

이정기·2023년 4월 27일
0

TIL

목록 보기
65/71
post-thumbnail

웹 서버 (Web Server)와 웹 어플리케이션 서버 (Web Application Server)의 차이점

정적 웹페이지 (Static pages)

  • image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들을 의미한다.

  • 웹 서버에서 요청에 알맞은 파일을 반환하며, 항상 동일한 페이지를 반환한다. (말 그대로 정적인 컨텐츠)

  • 웹 서버에서 제공한다.

동적 웹페이지 (Dynamic pages)

  • 들어온 요청에 맞게 동적으로 만들어진 컨텐츠를 의미한다.

  • 데이터베이스, 서버 내 로직 등을 활용해 만들어진 컨텐츠를 반환한다.

  • 웹 어플리케이션 서버에서 제공한다.

웹 서버 (Web Server)

  • HTTP 요청을 받아 Static contents를 제공하는 서버, 프로그램
  • 정적인 컨텐츠 제공
  • 동적인 컨텐츠 제공을 위한 요청 전달

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

  • 다양한 서버 내 알고리즘, 비즈니스 로직, DB 조회 등 클라이언트 요청에 따라 동적인 컨텐츠를 제공하는 서버, 프로그램
  • HTTP 프로토콜을 기반으로 하여 클라이언트의 요청에 따라 구현된 비즈니스 로직을 통해 동적으로 만들어진 컨텐츠를 반환
  • 데이터베이스 접속 기능, 여러 개의 트랜잭션 관리 등 수행

WAS 가 모든 기능을 수행하지 않고, Web Server 를 사용하는 이유

기능을 분리하여 서버 부하 방지

  • WAS는 DB 조회, 다양한 로직을 수행하기라 바쁘기 때문에 단순한 정적 컨텐츠는 Web Server에서 빠르게 클라이언트한테 제공하는 것이 좋다.

  • 정적 컨텐츠 요청까지 WAS에서 수행하게 되면 부하가 커지게 되고, 동적 컨텐츠 처리가 지연됨에 따라 수행속도가 느려진다.

보안 강화

  • SSL 대한 암복호화 처리에 Web Server를 사용

여러 대의 WAS를 연결해 로드 밸런싱 용도로 사용

  • Fail over, Fail back 처리에 유리하다.

  • 대용량 웹 어플리케이션의 경우, Web Server와 WAS를 분리하여 오류가 발생한 WAS를 사용하지 않고, 다른 WAS를 사용하게 만듦으로써 무중단 운영을 가능하게 한다.

결론적으로, 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 Web Server, WAS를 각기 사용한다.

출처
웹서버와 웹어플리케이션

프로그래밍 언어 (Programming Language)와 스크립트 언어 (Scripting Language)의 차이점

프로그래밍 언어스크립트 언어
컴파일러와 인터프리터컴파일러를 사용하여 기계어로 변환되며, 실행 파일을 생성인터프리터를 사용하여 런타임에서 코드를 직접 실행
실행 시간빌드 시간이 필요하며, 실행하기 전에 컴파일러에 의해 컴파일 된다.직접 실행하기 때문에 빌드 시간이 필요하지 않으며, 즉시 실행될 수 있다.
타입정적으로 타입이 지정되며, 변수나 상수가 선언될 때 그 타입이 결정동적으로 타입이 지정되며, 변수나 상수의 타입은 런타임 중에 결정
범용성범용적이며, 시스템 및 응용 프로그램을 개발하는 데 사용주로 자동화된 작업이나 웹 개발, 데이터 분석 등 특정 작업에 사용
문법일반적으로 규칙적인 문법을 따른다.자유로운 문법을 가지며, 일반적으로 코드가 간결하고 이해하기 쉽다.
속도미리 컴파일되므로 일반적으로 실행 시간이 빠르다.인터프리터를 사용하므로 일반적으로 실행 시간이 느리다.
profile
Node.js 로 꿈을 꾸었다..

0개의 댓글