하드웨어 환경

사용자와의 인터페이스 역할을 하는 클라이언트(Client), 클라이언트와 통신하여 서비스를 제공하는 서버(Server). 사용 목적에 따라 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 등으로 나뉜다.

웹 서버 (Web Server)

클라이언트로부터 직접 요청을 받아 처리하는 서버. 저용량의 정적 파일들을 제공 e.g. Apache HTTP Server, Microsofr Internet Information Service, Google Web Server 등

웹 서버의 기능

  • HTTP/HTTPS 지원
  • 통신 기록 : 처리한 요청들을 로그 파일로 기록하는 기능
  • 정적 파일 관리 : HTML, CSS, 이미지 등의 정적 파일들을 저장하고 관리하는 기능
  • 대역폭 제한 : 네트워크 트래픽의 포화를 방지하기 위해 응답 속도를 제한하는 기능
  • 가상 호스팅 : 하나의 서버로 여러 개의 도메인 이름을 연결하는 기능
  • 인증 : 사용자가 합법적인 사용자인지를 확인하는 기능

웹 애플리케이션 서버(WAS; Web Application Server)

사용자에게 동적 서비스(=사용자의 입력에 따라 다른 결과를 보여주는 서비스)를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나, 웹 서버와 데이터베이스 서버 또는 웹 서버와 파일 서버 사이에서 인터페이스 역할을 수행하는 서버 e.g. Apache Tomcat, IBM WebSphere, Oracle WebLogic 등

데이터베이스 서버(DB Server)

데이터베이스와 이를 관리하는 DBMS를 운영하는 서버 e.g. MySQL Server, Oracle Server, Microsoft SQL Server 등

파일 서버(File Server)

데이터베이스에 저장하기에는 비효율적이거나, 서비스 제공을 목적으로 유지하는 파일들을 저장하는 서버 e.g. AWS S3 등