웹과 자바

친친·2022년 11월 16일
0

웹관련 용어


.인터넷 상에 분산되어 존재하는 다양한 정보를 통일된 방법으로 찾아볼 수 있게 하는 정보 서비스

웹 어플리케이션의 실행과 구성요소

웹 어플리케이션
.웹에서 실행되는 응용프로그램
.클라이언트 측 / 서버 측 실행
.컴파일 방식 / 비컴파일 방식

웹 서버
.정적인 요청 처리
.Apached HTTP Server, IIS, Nginx
.http 프로토콜을 사용하여 클라이언트와 통신

웹 어플리케이션 서버(WAS, 웹 컨테이너)
.정척인 요청 처리
.동적인 요청, 비지니스 로직 처리(DB관련 처리)

실행 위치

클라이언트 측 실행서버 측 실행
웹 문서에 동적 요소 포함시켜 클라이언트에 전송서버에서 실행되어 응답 문서를 동적으로 생성
웹 브라우저가 해석하여 페이지 생성WAS가 수행한 결과를 브라우저에 전송
애플릿, JS, 플래시서블릿, JSP, ASP, PHP, CGI
보안문제서버 부담

구현 방식

컴파일 방식비컴파일 방식
서블릿, JSPJS
Perl, C 등을 이용한 CGI 방식
컴파일 과정을 통해 실행파일이나 바이트 코드가 만들어져 사용됨매 요청마다 스크립트를 해석하여 실행됨

CGI
.Common Gateway Interface
.동적으로 웹 페이지를 생성하기 위한 방식
.고급 언어 프로그램을 실행시켜 HTML코드를 생성한 후 전달
.클라이언트 요청의 개수만큼 개별 프로세스를 생성함
.요청이 많아지면 급격한 성능 저하

WAS
.웹 어플리케이션을 실행하고 관리하는 별도의 전담 프로그램
.클라이언트 요청들에 대해 스레드를 생성하여 하나의 JVM에서 수행함
.그 밖에 API 제공, 부하 균형, 고장 조치 등의 기능

JSP의 특징 및 관련 개념

서블릿
.서버 측 java 클래스
.웹 페이지를 동적으로 생성함

JSP
.서블릿 대신에 사용할 수 있는 스크립트 형식의 언어
.스크립트 언어로 html 내 삽입됨
.JSP -> 서블릿으로 변환됨
.플랫폼에 독립적

웹 컨테이너
.웹 컴포넌트를 저장하고 서블릿의 생명주기를 관리
.서블릿 컨테이너라고도 함
.JSP를 서블릿으로 변환하는 기능을 포함
.Tomcat, WebSphere, JBoss 등

HTTP 프로토콜

HTTP 프로토콜
.웹 서버와 클라이언트가 통신하는 규약
.stateless: 서버는 클라이언트에 응답 후 클라이언트 상태를 유지하지 않음
.상태 관리를 위해 쿠키나 세션 등이 필요
.connection oriented: 요청을 위해 접속해야 함

HTTP 요청메시지
.시작라인, 요청헤더, (요청몸체) 로 구성
.시작라인은 요청방식, URI, 버전번호로 구성
.시작라인 ex) GET /index.html HTTP/1.1
.GET방식은 요청 몸체를 사용하지 않음
.요청헤더는 "헤더필드이름: 값" 형식

HTTP 응답메시지
.시작라인, 응답헤더, 응답 몸체(http)로 구성
.응답코드

2xx: 성공
3xx: 리다이렉트
4xx: 클라이언트측 오류
5xx: 서버측 오류

.응답라인은 http버전, 응답코드, 설명으로 구성
.응답라인 ex) HTTP/1.1 200 OK

profile
웹개발 블로그

0개의 댓글