서버의 종류
서버의 종류
1. 애플리케이션 서버
애플리케이션 서버는 사용자가 원격으로 액세스 할 수 있는 애플리케이션을 호스팅 하거나 배포하는 서버입니다. 웹 용 프로그램을 동작시킬 수 있도록 해주는 소프트웨어 플랫폼을 의미합니다.
애플리케이션 서버는 기본적으로 3가지 기능을 제공한다.
- 프로그램 실행 환경: 애플리케이션을 실행할 수 있는 환경을 제공한다.
- 데이터베이스 접속 기능: 데이터베이스와의 연결을 통해 데이터를 요청하고 처리한다.
- 트랜잭션 관리: 여러 개의 트랜잭션을 안전하게 관리하여 데이터의 일관성을 유지한다.
Web Logic, Jeus, Tomcat이 대표적인 애플리케이션 서버다.
온라인 쇼핑몰을 운영하는 경우, 애플리케이션 서버는 사용자의 주문을 처리하고, 결제 시스템과 연결하여 데이터를 저장하며, 주문 내역을 관리하는 등의 역할을 수행한다. 이 과정에서 애플리케이션 서버는 데이터베이스와 상호작용하여 실시간으로 재고를 체크하고, 주문 상태를 업데이트한다.
2. 웹 서버
클라이언트(주로 웹 브라우저)로부터 HTTP 요청을 받아 웹 페이지(HTML 문서 등)를 반환하는 서버이다. 소프트웨어적으로는 이러한 요청을 처리하는 프로그램을 의미하며, 하드웨어적으로는 이 프로그램을 실행하는 컴퓨터를 지칭한다.
주요기능
- 콘텐츠 제공: 주로 정적인 웹 페이지를 제공하며, 클라이언트의 요청에 따라 HTML 문서, 이미지, CSS 파일 등을 반환한다.
- 클라이언트 요청 수신: 클라이언트로부터의 요청을 받아들이고, 웹 폼과 같은 사용자 입력을 처리하여 서버로 전송할 수 있다. 이는 업로드 기능을 포함한다.
- 서버 측 스크립트 실행: 일부 웹 서버는 PHP와 같은 스크립트 언어를 지원하여 기본적인 동적 콘텐츠 생성이 가능하다. 그러나 이는 애플리케이션 서버에 비해 기능이 제한적이다
Apache, 마이크로소프트 인터넷 정보 서비스(IIS)가 대표적인 웹서버이다.
애플리케이션 서버와 웹서버 차이점
웹 서버는 정적 콘텐츠를 주로 제공하는 반면, 애플리케이션 서버는 비즈니스 로직을 실행하고 동적 콘텐츠를 생성하며 애플리케이션 서버는 데이터베이스와의 연결 및 트랜잭션 관리 등의 더 복잡한 기능을 수행할 수 있다.
예> 쇼핑몰의 제품 목록 페이지는 웹 서버에서 제공되지만, 장바구니 추가와 같은 기능은 애플리케이션 서버에서 처리한다.
+ 웹 서버는 사용자가 요청한 뉴스 기사 페이지를 HTML 형식으로 제공하고, 이미지 및 스타일 시트를 함께 반환한다. 그러나 사용자가 댓글을 작성할 경우, 이 댓글은 애플리케이션 서버에서 처리되어 데이터베이스에 저장한다.
3. 프록시 서버
프록시 서버는 클라이언트와 서버의 중간에 위치하는 서버입니다. 클라이언트가 요청한 정보를 대신 요청하고 반환하는 컴퓨터나 응용 프로그램을 의미한다. 클라이언트는 프록시 서버를 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있다.
주요 기능
- 요청 중개: 클라이언트의 요청을 받아 원본 서버에 전달하고, 원본 서버의 응답을 클라이언트에게 전달한다.
- 캐싱: 프록시 서버는 자주 요청되는 데이터를 캐시하여 저장한다. 이를 통해 동일한 데이터에 대한 요청 시 원격 서버에 다시 접속할 필요 없이 캐시된 데이터를 반환할 수 있어 전송 시간을 절약한다.
- 보안 및 익명성: 프록시 서버를 사용하면 클라이언트의 IP 주소가 노출되지 않아 익명성이 유지된다. 또한, 필터링 기능을 통해 악성 사이트 접근을 차단할 수 있다.
사용자가 특정 웹사이트에 접근할 때, 웹 프록시 서버를 통해 요청을 전송하면, 프록시 서버가 해당 웹사이트의 콘텐츠를 가져와 클라이언트에게 전달한다. 이 과정에서 캐시된 정보가 있다면, 프록시 서버는 캐시에서 데이터를 반환하여 속도를 높이고 대역폭을 절약한다.
4. 메일 서버 (Mail Transfer Agent, MTA)
메일 서버는 전자 메일을 수락하고 원하는 수신자에게 저자 메일을 발송해주는 서버다. 전자 우편을 SMTP(Simple Mail Transfe Protocol)를 이용해 다른 전자 우편 서버로 전달한다.
Sendmail, qmail, postfix, 마이크로소프트 익스체인지 서버가 대표적인 메일 서버이다.
5. 데이터베이스 서버
데이터베이스 서버는 사용자가 데이터베이스에 연결할 수 있도록 해줍니다. 데이터베이스는 사용자 정보나 사진, 동영상 등에 대한 정보를 담고 저장하고 관리하는 서버다.
데이터베이스 서버의 종류로는 MySQL, MongoDB, Oracle 등 여러 종류로 또 나뉜다.
6. 파일 서버
파일 서버는 네트워크에 연결된 클라이언트(워크스테이션)가 파일을 공유하고 저장할 수 있도록 하는 서버다.
파일 서버는 일반적으로 어떠한 계산도 수행하지 않으며, 클라이언트의 중간에 어떠한 프로그램도 실행하지 않는다. 데이터의 빠른 저장과 워크스테이션이 중대한 계산을 제공하는 데이터 수신이 파일 서버의 주된 설계 목적입니다.
예>
- Windows 파일 서버: 마이크로소프트의 파일 서버 솔루션으로, Active Directory와 통합되어 사용자 관리 및 접근 권한 설정이 용이하다.
- FTP 서버: 파일 전송 프로토콜(FTP)을 사용하는 서버로, 클라이언트가 파일을 업로드하거나 다운로드할 수 있도록 지원합니다. 일반적으로 웹 호스팅 및 파일 공유에 사용된다.
- NAS(Network Attached Storage): 네트워크에 직접 연결된 저장 장치로, 파일 서버처럼 작동하며, 사용자들이 쉽게 파일에 접근할 수 있도록 도와준다.
서버의 개념과 종류
서버의 개념과 종류
velog.io
https://masssal.tistory.com/29
공부용으로 작성한 글이며 문제시 비공개처리하도록 하겠습니다. 피드백 환영합니다.