1.웹은 인터넷 상에 분산된 전 세계적 정보 공간 또는 정보 공유 서비스를 의미한다.
2.웹 클라이언트와 요청하는 웹 문서는 정적인 웹 문서와 동적인 웹 문서로 구분된다.
3.웹 애플리케이션은 실행위치에 따라 서버 측/ 클라이언트 측 기술로 나뉘고,
구현방식에 따라 컴파일/비컴파일 방식으로 나뉜다.
4.JSP는 동적으로 웹 문서를 만들기 위한 서버 측 웹 프로그래밍 기술이다.
5.웹 애플리케이션 서버(WAS)는 동적으로 웹 페이지를 생성하기 위해 웹 애플리케이션을 실행하고 관리한다.
6.HTTP는 응용 계층의 프로토콜로서 웹 문서의 송수신을 위한 통신 규약이다.
웹 서비스의 제공과 구성 요소
1.웹 클라이언트 2.웹서버 3.웹 애플리케이션 서버 4.데이터베이스
-웹 문서에 동적 요소를 포함 시켜 클라이언트에 전송
-웹 브라우저가 해석하여 페이지를 생성
-애플릿, JAVASCRIPT,플래시
-보안의 문제 (서버쪽 부담은 줄이나, 보안의 문제가 있다.)
-서버에서 실행되어 응답 문서를 동적으로 생성
-웹 애플리케이션 서버가 수행한 결과가 브라우저에 전송됨.
-서블릿, JSP,,ASP,PHP,CGI방식
-서버의 부담 (자원 사용의 부담)
-컴파일 과정을 통해 실행파일이나 바이트 코드가 만들어져 사용됨.
-자바서블릿, JSP
-PERL ,C, C++을 이용한 CGI방식
(동작 속도가 빨라서 실행속도 빠르다)
-매 요청마다 스크립트를 해석하여 실행하는 방식
-자바스크립트는 크라이언트에서 실행되는 스크립트 방식
-동적으로 웹 페이지를 생성하기 위한 방식 중 하나
-- 고급 언어 프로그램을 실행시켜 HTML 코드를 생성한 후 전달함
-클라이언트의 요청이 있으면 해당 프로그램을 실행시키기 위해 개별 프로세스를 생성함.
--동일한 CGI를 요청해도 요청의 개수만큼 프로세스를 생성하므로 웹 서버에 부하를 준다.
성능이 급격히 떨어질 수 있다.
-웹 애플리케이션을 실행하고 관리하는 별도의 전담 프로그램
-- 모든 요청에 대해 매번 프로세스를 생성하지 않고 하나의 자바 가상 기계 내에서 수행함.
--요청을 처리하기 위해 스레드를 생성하기 때문에 CGI 보다 효율적이다.
-웹 페이지 생성 외에도 많은 기능을 수행함.
--API제공, 부하 균형, 고장 조치 등
성능이 급격히 떨어지지 않는다.
웹 서버
-클라이언트로부터의 요청을 받고 결과를 전달하는 기능
(아파치 HTTP 서버, IIS , Nginx)
-HTTP 프로토콜을 사용하여 클라이언트와 통신함.
(HTTP는 클라이언트와 웹 서버 간 웹 문서를 전송하기 위한 통신 규약 , 웹 서버를 HTTP서버라고도 함.)
웹 서버의 구체적 기능
-클라이언트가 요청한 웹 문서를 찾아 전달
-클라이언트 요청에 대한 기본적 사용자 인증
-문제가 있으면 정해진 코드 값으로 응답
-프로그램 실행 요청이 있으면 처리 후 그 결과를 전달
웹 애플리케이션 서버
-서버의 성능을 개선하기 위해 웹 서버의 기능을 분리
-웹 서비스의 처리를 위해 동적 페이지를 만들거나 비즈니스 로직을 처리
JSP가 이제 서블릿으로 변환되어 처리된다,
서블릿- 서버+애플릿
-웹 페이지를 동적으로 생성하기 위한 서버 측 JAVA 클래스
- JAVA언어에 기초한 웹 프로그램의 개발 기술
-JAVA언어로 서블릿 클래스를 만들고 , 컴파일된 바이트 코드를 서버에 탑재하여 웹 서비스를 제공
(소스를 수정하면 다시 컴파일하여 서버에 탐재해야 함.)
JSP(자바서버 페이지)
-서블릿 대신에 사용할 수 있는 스크립트 형식의 언어( HTML 페이지 내에 삽입됨)
-JSP페이지는 서블릿으로 변환됨
(웹 애플리케이션 서버가 자동으로 JSP페이지를 변환하고 컴파일하여 웹 서비스를 제공함)
-JAVA EE를 구성하는 기술 중 하나
=>특징
-스크립트 언어로 HTML페이지에 삽입됨
-JAVA언어의 특성을 활용
-표현 언어, 표현식, 액션 태그 등의 스크립트적 요소를 제공
-다양한 개발 환경이 오픈 소스로 제공됨
-JSP기술은 플랫폼에 독립적
(폐쇄적이지 않고 개방적이다. )
웹 컨테이너=서블릿 컨테이너라고도 함
-웹 컴포넌트를 저장하고 서블릿의 생명주기를 관리
(클라이언트의 서블릿 요청을 실행시키는 역할)
-서블릿 컨테이너
(JAVA로 구현된 서블릿 엔진 / JSP를 서블릿으로 변환하는 기능 포함)
-Tomcat, WildFLY, WEBLOGIC
-웹 서버에서 서블릿이 실행되기 위한 환경
(웹서버, JDK,서블릿 컨테이너 (TOMCAT))
-JSP컨테이너
(JSP페이지를 서블릿 프로그램으로 변환, 대부분의 서블릿 컨테이너는 JSP컨테이너 기능을 포함함, JSP컨테이너 자체가 서블릿으로 구현되어 있음. 결국 서블릿 컨테이너에 의해서 실행된다고 볼 수 있다.)
-웹 서버와 클라이언트가 통신하는 규약
(TCP프로토콜에 기초한 애플리케이션 계층 프로토콜)
-Connection oriented & Stateless 특성
(요청을 위해 접속, 서버가 응답한 후에 서버는 클라이언트의 상태를 유지 x ,웹 서버의 부담이 줄어드나 상태 관리를 위해 쿠키나 세션 등이 필요하다.)
-HTTP 요청과 응답 절차
(TCP 접속 -서버의 어떤 특정 포트에 연결 설정, 요청 메시지 전송, 응답 메시지 전송, 연결 끊기)
-시작 라인
(요청 방식, URI , 버전 번호)
-요청 헤더
(한 라인에 하나씩 헤더 정보 기술, 각 라인은 "헤더필드이름:값" 형식, 요청 헤더의 끝에 공백 라인을 둠)
-요청메시지의 몸체
(POST요청방식에만 의미 ,HTML폼에서 작성한 데이터를 POST방식으로 전송됨)
서버의 응답 코드와 설명
200 OK -클라이언트 요청이 성공적을 끝남
400 Bad Request- 잘못된 요청
401 Unauthorized-인증 오류
403 Forbidden -사용자 허가 모드 오류
404 Not Found-요청한 문서가 존재하지 않음
405 Method Not Allowed-요청한 방식을 지원하지 않음
500 Internal Server Error-서버에서의 실행 오류
503 Server Unavailable-일시적으로 요청을 처리할 수 없음
,
[8과] JSP프로그래밍_쿠키 필기하기 (0) | 2022.11.19 |
---|---|
[2강.JSP 프로그래밍 개발 환경 설정하기] JSP프로그래밍 (0) | 2022.11.13 |
방송통신대학교 과제를 끝마치며 [UNIX시스템] 30점 (0) | 2022.11.11 |
[2022년]경차 타면 돌려 받는 유류세 한도 나도 받자 연 30만원 혜택 총 정리 (0) | 2022.11.11 |
[책리뷰]자본체력 (0) | 2022.11.11 |