ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP | 웹 프로그래밍의 이해
    JAVA/JSP 2020. 2. 14. 17:26

    웹 프로그래밍의 이해

    간단한 내용을 웹 페이지에 표시할 때는 HTML 태그만으로도 충분하지만
    데이터가 실시간으로 변화하는 것을 처리하거나 저장하기에는 불충분함

    이렇게 동적으로 변화하는 데이터를 처리하고 표시하기 위해
    웹 프로그래밍 언어가 개발됨

    • CGI, ASP, PHP, JSP 등이 웹 프로그래밍 언어에 포함됨
      우리가 공부할 것은 JSP
    • 웹 프로그래밍은 기본적으로 클라이언트(Client) / 서버(Server) 방식으로 이루어짐
    • 클라이언트가 특정 페이지를 웹 서버에 요청하면
      웹 서버가 이를 처리한 후 결과를 다시 클라이언트에게 응답하는 구조

    웹 애플리케이션의 구조 및 구성 요소

    웹 애플리케이션이란 웹을 기반으로 실행되는 프로그램을 의미하며
    웹 프로그래밍을 통해 구현함


    웹 애플리케이션 처리 과정

    1. 웹 브라우저가 웹 서버에 특정 페이지 요청
    2. 웹 서버가 웹 브라우저의 요청을 받아서 요청된 페이지의 로직 및
      데이터베이스와의 연동을 위해 웹 애플리케이션 서버에 이들의 처리를 요청
    3. 웹 애플리케이션 서버는 데이터베이스와의 연동이 필요한 경우 이를 수행
    4. 로직 및 데이터베이스 작업의 처리 결과를 웹 서버에 전송
    5. 웹 서버가 웹 브라우저에 결과 응답

    웹 애플리케이션 구성 요소 및 기능

    구성 요소 기능
    웹 브라우저 웹에서 클라이언트이며 사용자의 작업창이라고도 함
    ex) IE, Chrome, Safari, FireFox etc.
    웹 서버 웹 브라우저의 요청을 받아들이며 작업의 결과를 웹 브라우저에 응답하기도 하는 곳
    요청된 페이지의 로직 및 DB와의 연동을 위해 애플리케이션 서버에 이들의 처리를 요청하는 작업을 수행
    ex) Apache(아파치), IIS(Internet Information Server)
    웹 애플리케이션 서버(WAS) 요청된 페이지의 로직 및 DB와의 연동을 처리하는 부분
    영어권에서는 그냥 애플리케이션 서버라고 함
    ex) WebLogic, WebSphere, Apache Tomcat
    데이터베이스(DB) 데이터 저장소로 웹에서 발생한 모든 데이터가 저장되는 영역
    게시판의 글이나 회원 정보 등이 저장됨
    ex) Oracle, MySQL

    ※ Apache Tomcat: Jakarta Project에서 무료로 제공하는 웹 컨테이너
    웹 애플리케이션 서버 기능을 갖고 있지만
    JSP와 서블릿을 서비스해주는 웹 컨테이너로 주로 사용되기 때문에
    보통 웹 컨테이너로 불림


    웹 애플리케이션 처리 방식

    CGI 방식과 웹 애플리케이션 서버(WAS) 방식이 있음
    기본적인 처리 구조는 같으나
    웹 서버가 웹 애플리케이션 프로그램을 사용하는 방식에 차이가 있음


    CGI 방식

    Common Gateway Interface

    • 웹 서버가 웹 애플리케이션을 직접 호출하는 구조
    • 1개의 요청에 대해 1개의 프로세스가 생성되어 요청을 처리한 뒤 종료됨
      즉 1000명의 사용자가 요청하면 1000개의 프로세스 생성
    • 동시 접속자가 많은 경우 시스템에 과부하를 초래
    • 현재 일부의 UNIX 플랫폼을 제외하고는 CGI 방식을 사용하지 않음

    ※ 프로세스(Process): 메모리 할당을 받은 프로그램 즉,실행 중인 프로그램을 의미


    WAS 방식

    Web Application Server

    • 웹 서버가 애플리케이션 프로그램을 직접 처리하지 않고,
      웹 애플리케이션 서버가 처리하도록 넘기는 방식
    • 여러 명의 사용자가 동일한 페이지를 요청할 때 오직 한 개의 프로세스만 할당
      사용자의 요청을 쓰레드(Thread) 방식으로 처리함
    • 프로세스가 하나만 생성되기 때문에 메모리 절약 가능
    • CGI 방식에 비해 더 많은 사용자에게 서비스를 제공할 수 있으며
      전체적으로 성능도 향상되어 보다 안정적인 웹 서비스 제공 가능
    • JSP 역시 WAS 방식을 취함

    웹 앱 구현 방식

    실행 코드 방식과 스크립트 코드 방식이 있음

    앞으로는 애플리케이션을 앱으로 줄여서 작성


    실행 코드 방식

    • 미리 컴파일된 실행 츠로그램을 사용자 요청에 따라 실행
    • CGI 방식

    스크립트 코드 방식

    • Client Side Script: 클라이언트 쪽에서 처리하는 스크립트 언어
      ex) JavaScript, VBScript etc.
    • Server Side Script: 서버 쪽에서 처리하는 스크립트 언어
      ex) JSP, ASP, PHP etc.
    • 사용자의 요청이 발생하면 스크립트 코드를 번역하여 번역된 코드를 실행
    • 스크립트 코드는 최초 요청이 있을 때 단 한번만 번역되며
      이후에는 번역된 코드가 실행됨
      → 실행 코드 방식과 처리 속도에 큰 차이 없음
    • 실행 코드 방식에 비해 쉽고 빠르게 웹 앱 구현 가능
    • WAS 방식으로 실행 코드 방식에 비해 전체적인 성능이 뛰어남

    JSP에 대해 알아보기 전에 웹 프로그래밍의 전체적인 개요에 대해 간략히 알아보았습니다.

    JSP 역시 웹 프로그래밍 언어이기 때문에 웹 프로그래밍의 기초에 대해 아는 것은 분명 도움이 될 것입니다.

     

    'JAVA > JSP' 카테고리의 다른 글

    JSP | Page Diretives_<%@ page %>  (0) 2020.02.18
    JSP | Script 3대 요소 & Comment 주석  (0) 2020.02.17
    JSP | JSP 환경 설정  (0) 2020.02.14
    JSP | JSP 개요 및 특징  (0) 2020.02.14
    JSP | Servlet 서블릿 개요  (0) 2020.02.14

    댓글

Designed by Tistory.