JSP - 1

웹이란

  • World Wide Web의 줄임말로서 www라고 불리기도 함
  • 인터넷을 기반으로 하는 정보 서비스
  • 팀 버너스리가 정보를 공유하기 위해 생각해낸 서비스
  • 하이퍼텍스트 문서의 형태로 구성


정적 웹 문서

  • 클라이언트가 서버에 웹 문서를 요청하면 응답이 만들어져 전달
  • 클라이언트가 요청한 것이 정적 웹 문서라면 항상 동일한 결과가 전달
  • 정적인 웹 문서는 정적인 텍스트로 문서의 내용이 바뀌지 않음


동적 웹 문서

클라이언트가 요청한 것이 동적 웹 문서라면 결과가 동적으로 만들어져 전달 

① 웹 문서에 동적인 요소를 포함시켜 클라이언트에 전송하면 클라이언트(웹 브라우저)가 해설하여 결과를 보여주는 경우: JavaScript, Applet

② 서버가 애플리케이션을 통해 문서를 동적으로 생성한 후 클라이언트에 전송하는 경우: CGI, JSP, ASP, PHP 등


웹 애플리케이션의 구성

① 웹 브라우저: 웹 서비스를 요청하고 결과를 제공받는 클라이언트

② 웹 서버: 클라이언트의 요청을 처리하도록 프로세스를 관리

③ 웹 애플리케이션 서버: JSP 프로그램을 실행시키고 결과를 웹 서버에 전달

④ 데이터베이스: 웹 서비스 수행에 필요한 데이터를 저장


웹 어플리케이션 실행 위치

① 클라이언트 측

  • 웹 브라우저에 스크립트를 해석하여 페이지를 생성
  • Applet, JavaScript, 플래시 등

② 서버 측

  • 웹 애플리케이션 서버가 수행하고 결과를 브라우저에 전송
  • Java 서블릿, JSP, CGI, ASP 등
  • 서버의 부담


CGI (Common Gateway Interface) 

  • 동적 콘텐츠를 생성하기 위한 서버 프로그래밍 방식
  • 웹 서버를 통해 응용 프로그램을 호출하고 결과로서 HTML 코드를 만듦
  • 초기 웹 프로그래밍에 사용한 기술
  • 클라이언트의 요청이 있으면 해당 프로그램을 실행시키기 위해 개별 프로세스를 생성
  • 동일한 CGI를 요청하면 요청한 개수만큼 프로세스를 생성하기 때문에 클라이언트의 요청이 많아지면 급격히 성능 저하


WAS (Web Application Server)

  • 웹 애플리케이션 서버는 동적인 웹 서비스를 전담하는 별도의 서버
  • 웹 애플리케이션의 실행 환경 제공
  • 서버의 성능을 개선하기 위해 웹 서버의 기능을 분리한 것
  • 웹 서비스의 처리를 위해 동적 페이지를 만들거나 비즈니스 로직 담당
  • 모든 요청에 대해 매번 프로세스를 생성하지 않고 하나의 자바 가상 기계 내에서 수행
  • 클라이언트 요청을 처리하기 위해 스레드를 생성하여 CGI 방식보다 나은 성능


웹 서버

  • 클라이언트로부터 요청을 받고 결과를 전달하는 기능
  • Apache HHTP Server, IIS 등
  • HTTP 프로토콜 클라이언트와 웹 서버 사이에 웹 문서를 전송하기 위한 통신 규약
  • 웹 서버를 HTTP 서버라고 하기도 함


서블릿

  • Server + Applet
  • Java 언어에 기초한 웹 프로그램의 개발 기술
  • 확장된 CGI 방식이나 CGI 방식과 마찬가지로 디자인과 로직 처리가 혼재
  • CGI 방식과 다르게 스레드 기술을 이용
  • Java 언어로 서블릿 클래스를 만들고 컴파일된 바이트 코드를 서버에 탑재하여 웹 서비스를 제공
  • 서블릿 소스를 수정하면 다시 컴파일하여 서버에 탑재해야 함


JSP

  • J2EE를 구성하는 기술 가운데 하나
  • 동적 콘텐츠를 만들기 위한 기술로 서블릿 기술에 기초
  • 서블릿은 서버측 스크립트로 구성한 언어
  • 웹 애플리케이션 서버가 JSP 페이지를 실행시켜 동적 콘텐츠 생성
  • JSP 페이지는 서블릿 클래스로 변환되어 컴파일
  • 특징: 스크립트 방식 / Java 언어의 특성 활용 / 표현언어, 표현식, 액션 태그 등의 스크립트적 요소 제공 / 다양한 개발 환경이 오픈 소스로 제공


HTTP

  • 전송 계층 TCP 프로토콜에 기초한 서비스 계층의 프로토콜
  • www 서비스를 위해 웹 서버와 클라이언트가 통신하는 규약
  • HTTP 요청 방식: GET / HEAD / POST / OPTIONS / DELETE / PUT / TRACE / CONNECT
  • HTTP 응답 메시지(상태 코드)

200 - OK - 클라이언트 요청이 성공적으로 끝남

400 - Bad Request - 잘못된 요청

401 - Unauthorized - -인증 오류

403 - Forbidden - 사용자 허가 모드 오류

404 - Not Found - 요청한 문서가 존재하지 않음

405 - Method Not Allowed - 요청한 method를 지원하지 않음

500 - Internal Server Error - 서버에서의 실행 오류

503 -  Service Unavailable - 일시적으로 요청을 처리할 수 없음

댓글

가장 많이 본 글