웹 프로그래밍과 JSP

2021. 12. 4. 16:02·Backend/Java&Spring&Servlet
728x90

웹 프로그래밍은 동적 웹 프로그래밍(JSP)과 정적 웹 프로그래밍(초기 웹 프로그래밍)으로 구분할 수 있다.

 

1. 정적 웹 프로그래밍 ( Static Web Programming)

 - 웹 서버(Apache)에 미리 보여줄 HTML, CSS, img, JavaScript 등의 파일을 정해놓고, 사용자가 요청할 경우 전달하는 방식

 - 사용자는 페이지가 변경되지 않는 한 고정된 웹 페이지를 보게된다.

 - UI 구성이나 이벤트 처리 등에 사용

 - 구성요소: 웹 서버, 클라이언트, HTTP, HTML, JavaScript, CSS

 

 * 문제점: 환율, 주가와 같은 실시간 정보를 처리하기 위해서는 관리자가 HTML 코드를 수시로 업데이트해줘야 한다.

      → 이와 같은 이유로 요새는 많이 사용하지는 않지만, 디자인이나 이벤트를 처리하는 용도로는 중요하게 사용된다.

 

2. 동적 웹 프로그래밍 ( Dynamic Web Programming )

 - 처음에는 CGI(Common Gate Interface)로 동적 방식을 제공하였다.

                   *대표적인 언어로 펄(Perl)이 있다.

 * CGI 동작방식의 특징

   - 초기 웹 프로그램에서 사용하는 방식

   - 프로세스 방식으로 실행        ┐

   - 서버의 부하가 심함           : 정보 요청시마다 WAS가 해당 기능을 수행하는 프로세스를 메모리에 생성

 

CGI는 이러한 동작방식 때문에 다음과 같은 문제점이 발생한다.

  • 같은 동작을 사용하더라도 각 경우마다 처음부터 메모리에 로드해서 수행
  • 초기엔 사용자나 기능이 많지 않아서 문제가 없었으나 규모가 커짐에 따라 메모리에 과부하가 발생

     →이러한 문제점들을 해결하기 위해 JSP, ASP, PHP가 등장

 

3. JSP 프로그램의 특징

JSP는 기본적으로 스레드 방식으로 실행하기 때문에 CGI보다 효율적이다.

 - 클라이언트의 요구를 처리하는 기능이 최초 한 번만 메모리에 로드된다.

 - 동일한 기능을 요구할 시, 해당 프로세스를 재사용한다.

 - 속도/메모리 모두 good

 

참고 도서: [이병승, 길벗] 자바 웹을 다루는 기술

728x90

'Backend > Java&Spring&Servlet' 카테고리의 다른 글

[Java] Heap Memory 누수 분석기3 : 누수 원인을 분석해보자 - jmap, jhat  (0) 2024.03.01
[Java] Heap Memory 누수 분석기2 : 모니터링 환경 구축하기 - VisualVM  (1) 2024.02.28
[Java] Heap Memory 누수 분석기1 : JVM이란 ?  (2) 2024.02.27
웹 애플리케이션(Web Application)  (0) 2021.12.04
프로그램의 발전 과정, 웹 기반 프로그램  (0) 2021.11.25
'Backend/Java&Spring&Servlet' 카테고리의 다른 글
  • [Java] Heap Memory 누수 분석기2 : 모니터링 환경 구축하기 - VisualVM
  • [Java] Heap Memory 누수 분석기1 : JVM이란 ?
  • 웹 애플리케이션(Web Application)
  • 프로그램의 발전 과정, 웹 기반 프로그램
kkap999
kkap999
IT에 관심 가득한 갑갑이의 개발&스터디 블로그 태클 언제나 환영합니다
  • kkap999
    갑갑이의 개발세상
    kkap999
    • 분류 전체보기 (104)
      • Backend (9)
        • Java&Spring&Servlet (8)
        • DB (0)
      • 알고리즘 (79)
        • 문제풀이 (70)
        • 자료구조 (7)
        • 그 외 (2)
      • AI (4)
      • Computer Science (3)
        • 네트워크 (2)
        • 컴퓨터기초 (0)
        • 리눅스마스터 (1)
      • App&FE (3)
        • FE (1)
        • Flutter (2)
      • 독서 (1)
      • 잡담&일상 (4)
        • 일상 (1)
        • 잡담 (2)
        • 음악 (1)
  • 태그

    백준
    BOJ
    알고리즘
    BOJ15649
    N과M(1)
  • 링크

    • github
  • 인기 글

  • 최근 글

  • 01-24 12:24
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
kkap999
웹 프로그래밍과 JSP
상단으로

티스토리툴바