Server 개요
Server-Client 모델
- 서버는 특정한 서비스를 제공하는 컴퓨터를,
클라이언트는 이러한 서비스를 이용하는 사용자를 말함. - 내가 만든 페이지를 다른 사용자도 볼 수 있게 하려면 서버를 구축해야한다.

- 서버 내부에서도 여러 단계가 있음
1. 웹서버 : 외부의 요청을 받아서 적절한 처리 후 응답을 돌려주는 교환통신원 역할
ex) 아파치
2. 미들웨어 : 웹서버와 데이터베이스를 연결하면서 웹 어플리케이션이 동작하는 방법 등을 정의하는 곳
ex) PHP, JSP, 스프링, 장고 등
3. 데이터베이스 : 가장 깊은 곳에서 정보를 저장하는 역할
ex) 오라클

서버는 크게 2종류
- AP서버(Application Server)
- 애플리케이션 서비스를 동작시키는 서버
ex) 쇼핑몰에서 사용자가 제품을 카트에 담고, 좋아요를 누르고, 댓글을 달고, 문의를 하는 등의 모든 행동을 AP 서버가 처리
- 웹서버와 WAS로 세분화된다. - DB서버
- 데이터를 저장하고 필요할 때 데이터를 가져올 수 있는 공간
- 트래픽이 적다면 AP서버와 DB서버를 하나로 단일서버로 운영하지만, 규모가 커지는 경우 이중화시켜서 구축한다. - 단일서버와 분리서버의 물리적 차이
- 단일서버구성
웹클라이언트 => 연결 <= 웹서버+WAS+DB서버
- 분리서버구성
웹클라이언트 => 연결 <= 웹서버+WAS => 연결 <= DB서버
AP서버의 세분화
- Web Server :
- 웹사이트 또는 웹어플리케이션의 콘텐츠를 클라이언트에게 제공하는 서버
* 웹사이트란? 누가봐도 똑같은 정적 페이지(html이 한가지)
- HTTP, HTTPS 프로토콜로 통신한다
- 프론트엔드 작업을 처리한다. - WAS :
- Web Application Server
- 웹 어플리케이션의 페이지를 만들어서 응답함
** 웹어플리케이션이란? 이용자와 상호작용하는 동적인 페이지(마이페이지 등)
- 동적인 요소를 주었다면 반드시 WAS를 구축해야한다.
(WAS를 구축하면 자연스럽게 WebServer도 구축됨)
- 프론트엔드와 백엔드 모두 처리하나 주로 백엔드 처리를 의미한다.

- 장단점

서버의 역할과 조건
- 클라이언트 요청 수신 및 처리
- 클라이언트(보통 웹 브라우저나 API 호출)의 요청을 수신하고, 해당 요청에 대한 처리를 수행할 수 있어야 한다. - 응답 반환
- 요청에 대한 처리 결과를 응답으로 클라이언트에게 반환할 수 있어야 한다.
- 웹 서버의 경우 정적 파일을, WAS의 경우 데이터베이스와의 상호작용 결과를 반환 - 연결 및 데이터 전송의 안정성
- HTTP, HTTPS, TCP 등 특정 프로토콜을 통해 안정적으로 클라이언트와 통신할 수 있어야 한다.
- 연결의 안정성과 데이터 전송의 신뢰성을 보장해야 한다. - 확장성과 관리 용이성
- 많은 사용자가 동시에 요청을 보내도 이를 처리할 수 있어야 한다.
- 관리자가 이를 쉽게 유지보수하고 확장할 수 있어야 함
- 멀티스레드, 로드 밸런싱, 캐싱 등 - 리소스 관리와 최적화
- 메모리, CPU, 네트워크 자원을 효율적으로 관리하며 최적화된 성능을 유지

'다양한 기술들 > Web 관련' 카테고리의 다른 글
| [JSP] 간단한 실습 (0) | 2023.01.10 |
|---|---|
| [JSP] HTML 위에서 작성하는 Java / 기본 문법 (0) | 2023.01.10 |
| [서블릿] 실습 : form태그를 통한 HTTP 통신 (0) | 2023.01.10 |
| [서블릿] 동적 웹 만들기 개념 / 주요 인터페이스 (0) | 2023.01.03 |
| [서버] 실습 : 아파치 톰캣 / 이클립스 세팅 (0) | 2022.12.29 |
댓글