서버프로그래밍_01 Web Application

aggapang·2025년 6월 26일

kb IT's Your Life

목록 보기
19/20

Web Application

1. Http 클라이언트와 서버

  • HTTP : 클라이언트-서버 모델 기반 프로토콜
  • 클라이언트 : 서비스를 요청해서 사용하는 컴퓨터(사용자)
  • 서버 : 서비스를 제공하는 컴퓨터

2. Web 통신

Web Server

정적 콘텐츠 저장하고 제공하는 서버

  • HTML CSS JavaScript Image 등
  • 대표적인 웹 서버 : Apache Http Server

WAS (Web Application Server)

동적 어플리케이션을 실행하고 관리하는 미들웨어 서버

  • 요청에 따라 실시간으로 응답을 생성, 제공
  • Servlet/JSP 실행, 비즈니스 로직 처리, 데이터베이스 연동
  • 대표적인 웹 서버 : Apache Tomcat
  • 핵심 기능
    • 웹 컨테이너 : 서블릿/JSP 실행 환경
    • 트랜잭션 관리 : 데이터 일관성 보장
    • 커넥션 풀 : 데베 연결 관리
    • 보안 처리 : 인증/인가 처리

3. URL

프로토콜://서버주소(호스트번호):포트/파일경로/파일명

  • 프로토콜HTTP/HTTPS 통신 방식
    서버 주소도메인명 or IP 주소
    포트 번호서비스 구분
    생략 가능
    경로서버 내 리소스 논리적 위치
    쿼리 문자열서버에 전달할 매개변수
    ?user=userid
    Fragment페이지 내 특정 위치 지정

HTTP Request

  • HTTP 응답과 요청 시 메시지 구성이 있음
  • 요청 라인
    Request Line
    HTTP 메서드 방식 및 요청 URL, 프로토콜 정보
    요청 헤더
    Request Header
    웹 브라우저 정보, 언어, 인코딩 방식, 서버 정보 등 추가 정보
    요청 본체
    Request Body
    요청에 필요한 내용

HTTP Response

  • 상태 라인
    Status Line
    응답 상태 코드, 프로토콜 정보
    응답 헤더
    Response Header
    응답 처리 날짜, 인코딩 방식, 요청 서버 정보 등 같은 추가 정보
    응답 본체
    Response Body
    응답에 필요한 HTML 문서 등

4. Web Application

사용자가 웹 브라우저로 접속해서 이용하는 프로그램

  • 인터넷 기반 웹상에서 웹 브라우저를 이용한 클라이언트와 웹 서버 간에 동적으로 요청/응답 처리하는 프로세싱

JSP/Servlet 아키텍쳐

웹 컴포넌트

웹 어플리케이션을 구성하는 실행 가능한 소프트웨어 단위

  • HTTP 요청을 처리하고 응답을 생성하는 역할
  1. HTML 컴포넌트
  2. JSP 컴포넌트
    • 동적 웹페이지 생성하는 템플릿
    • HTML, 화면 중심
  3. Servlet 컴포넌트
    • HTTP 요청을 처리하는 자바 클래스
    • 비스지니 로직 중심 프로그래밍 방식
    • 로그인 처리, 데이터 조회, API 응답 등

웹 컨테이너

웹 컴포넌트(서블릿, JSP) 실행하고 관리하는 런타임 환경

  • 이벤트(웹 브라우저 요청) 방식으로 동작
  • 역할
    • 생명주기 관리, 이벤트 처리, 리소스 관리
    • Tomcat

MVC 패턴

  • model
    • 어플리케이션의 데이터와 비즈니스 로직 담는 객체
  • view : JSP
    • 사용자에게 데이터 표시
    • 비즈니스 로직 X
    • 하나의 모델을 다양한 뷰에서 사용가능
  • Controler : Servlet
    • 모델과 뷰 사이 동작 조정
    • 웹 요청에 적합한 모델 생성 처리
    • 적절한 뷰를 선택해 모델 전달

5. Apache Tomcat

  • 오픈소스 웹 어플리케이션 서버 was
  • 서블릿 / jsp 실행하는 웹 컨테이너
  • 웹 컨테이너, 웹 서버, 경량 WAS 기능
  • 디록토리 구조
    • bin : Tomcat 실행 파일
    • lib : JSP/Servlet 라이브러리
    • webapps : 웹 어플리케이션 배포 폴더
    • conf : 설정 파일
    • logs : 로그 파일

0개의 댓글