JSP
서버, 웹서버, 웹 컨테이너, WAS, HTTP 프로토콜, 포트 개념 정리
초코너무조코
2025. 2. 18. 16:07
728x90
서버, 웹서버, 웹 컨테이너, WAS, HTTP 프로토콜, 포트 개념 정리
1. 서버 (Server)
서버는 네트워크를 통해 클라이언트의 요청을 받아 처리하고 응답하는 컴퓨터 시스템 또는 소프트웨어를 의미합니다. 서버는 다양한 역할을 수행하며, 사용 목적에 따라 여러 유형으로 나뉩니다.
서버의 주요 종류
- 웹 서버 (Web Server): HTTP를 통해 웹 페이지를 제공하는 서버
- 애플리케이션 서버 (Application Server, WAS): 동적 웹 애플리케이션 실행을 담당하는 서버
- 데이터베이스 서버 (Database Server): 데이터 저장 및 관리 기능 제공
- 파일 서버 (File Server): 파일 저장 및 공유 기능 제공
- 메일 서버 (Mail Server): 이메일 전송 및 수신 관리
2. 웹서버 (Web Server)
웹서버는 클라이언트(브라우저)의 HTTP 요청을 받아 정적 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 제공하는 역할을 합니다.
대표적인 웹서버 소프트웨어
- Apache HTTP Server
- NGINX
- Microsoft IIS
- LiteSpeed Web Server
웹서버의 주요 기능
- 정적 콘텐츠 제공
- 클라이언트 요청 처리 및 응답
- 로드 밸런싱 (부하 분산)
- 보안 기능 (SSL/TLS 지원)
- 리버스 프록시 기능 지원
3. 웹 컨테이너 (Web Container)
웹 컨테이너는 Java Servlet, JSP(Java Server Pages) 등의 실행을 지원하는 소프트웨어 환경으로, WAS의 일부로 포함되기도 합니다.
대표적인 웹 컨테이너
- Apache Tomcat
- Jetty
- WildFly (JBoss)
- GlassFish
웹 컨테이너의 역할
- 서블릿 생명주기 관리
- HTTP 요청 처리 및 응답 생성
- 세션 관리
- 보안 기능 제공
4. WAS (Web Application Server, 웹 애플리케이션 서버)
WAS는 웹 애플리케이션을 실행하고 동적 콘텐츠를 생성하는 서버입니다. 일반적으로 웹 컨테이너를 포함하고 있으며, 데이터베이스와 연동하여 복잡한 비즈니스 로직을 처리합니다.
대표적인 WAS 소프트웨어
- Apache Tomcat
- JBoss/WildFly
- WebLogic
- WebSphere
WAS의 주요 기능
- 동적 웹 애플리케이션 실행
- 데이터베이스 연동 및 트랜잭션 관리
- 세션 및 사용자 인증 관리
- 부하 분산 및 확장성 지원
5. HTTP 프로토콜
HTTP(HyperText Transfer Protocol)는 웹에서 데이터를 주고받기 위한 프로토콜입니다. 클라이언트와 서버 간의 통신을 정의하며, 요청(Request)과 응답(Response) 방식으로 동작합니다.
HTTP의 특징
- 무상태성 (Stateless): 각 요청은 독립적으로 처리됨
- 비연결성 (Connectionless): 요청-응답 후 연결이 종료됨 (HTTP/1.1에서는 지속 연결 지원)
- 메서드 기반 통신: GET, POST, PUT, DELETE 등의 HTTP 메서드 사용
주요 HTTP 메서드
메서드 | 설명 |
---|---|
GET | 리소스 요청 (조회) |
POST | 새로운 리소스 생성 |
PUT | 기존 리소스 수정 |
DELETE | 리소스 삭제 |
PATCH | 부분 수정 |
6. 포트 (Port)
포트는 네트워크에서 특정 프로세스나 서비스를 식별하는 번호입니다. 서버는 특정 포트를 통해 클라이언트 요청을 수신합니다.
주요 포트 번호
포트 번호 | 설명 |
---|---|
80 | HTTP 기본 포트 |
443 | HTTPS (SSL/TLS 적용된 HTTP) |
8080 | 일반적으로 WAS 기본 포트 |
3306 | MySQL 데이터베이스 포트 |
5432 | PostgreSQL 데이터베이스 포트 |
728x90