Lumpy Space Princess - Adventure Time
공부/JSP

#01. 웹 프로그래밍의 이해

yaebb_82 2022. 1. 19.

반응형

컴퓨터공학과를 진학하여 1학년 때부터 쭉 학과 커리큘럼에 맞춰서 대부분의 강의들을 수강을 했었다. 전공 과목에서 '캡스톤 디자인'이라는 강의가 있었는데, JSP를 배우면서 팀 프로젝트를 진행하는 수업이었다. 컴퓨터공학과에서는 팀 프로젝트가 중요한 편이라서 거의 필수로 들었어야 했는데, 수강신청을 망해버리는 바람에 놓치게 되었고 4학년을 마친 지금까지 결국 듣지 못하였다. 다른 학교들에서도 거의 대부분 배운다는 JSP인데... 중요한 과목을 수강하지 못했다는 점에서 매우 아쉬웠었다.

그런 중에 학교가 SW중심 대학에 선정되면서, 이번 겨울 방학에 JSP 과목을 하루에 3시간씩 3주에 걸쳐서 무료로(약간 무료 계절학기 느낌...?) 특강을 열어준다고 해서 바로 신청했다. '따로 JSP 공부를 해야하나...'라고 생각했던 찰나에 이렇게 좋은 기회로 수업을 듣게 되어 좋았다. 아쉬움이 컸던 만큼 방학 때 불태워서 열심히 수업 들어야지!!👍

앞으로 JSP 수업을 들으면서 배웠던 개념들을 쭉 정리해보고자 한다.


1. 웹의 동작 원리

▪︎ HTTP(Hyper-Text Transfer Protocol)

- 클라이언트와 서버 간의 통신에 이용되는 프로토콜 (웹 서비스는 기본적으로 '클라이언트-서버' 구조를 가짐)

- HTML로 작성된 문서(웹 페이지)를 전송하기 위한 프로토콜

- 연결을 유지하지 않는 비연결성 프로토콜

-  HTTP는 기본적으로 요청(Request)과 응답(Response)의 과정으로 구성되어 있음

 

  *요청: 브라우저를 통해 웹 페이지를 서버에 요청 / *응답: 서버에서 요쳥된 웹 페이지를 브라우저에 전송

 

 

 

2. 동적 웹 프로그래밍

▪︎ 웹 페이지(Web Page)

- 정적 웹 페이지: HTML, CSS, JavaScript, 이미지 등으로 구성되어 있는 서버에 미리 저장된 페이지

- 동적 웹 페이지: 로그인 기능과 같이 페이지 요청 시 DB로 부터 정보를 반환하여 갱신하는 페이지

 

▪︎ 웹 서버(Web Server) : 클라이언트가 웹 브라우저를 통해 웹 페이지를 요청하면 웹 서버에서 정적 웹 페이지를 생성하여 반환

 

동적 웹 프로그래밍 기술은 CGI(Common Gateway Interface)로부터 시작됐으며, 동적 페이지를 제공하기 위해 웹 서버에 직접 프로그래밍 기능이 들어갔다. 하지만 클라이언트가 요청할 때마다 DB연결이 필요하기 때문에 느리고, 요청마다 새로운 프로세스를 생성하여 시스템 부하(Over head)가 커져 서버 메모리를 많이 차지한다는 단점이 있다.

 

 

▪︎ 웹 어플리케이션 서버(Web Application Server, WAS)

위와 같은 단점을 해결하기 위해, WAS를 웹 서버 뒤에 위치시켜 웹 서버가 직접적으로 DB 접근을 하지 않고 동적 웹 페이지를 생성할 수 있게 되었다. 그래서 WAS를 미들웨어(Middleware)라고 한다. (*미들웨어: 공통 서비스 및 기능을 어플리케이션에 제공하는 소프트웨어) 또한 CGI의 단점인 오버헤드를 해결할 수 있게 되었다.

 

 

 

3. JSP 아키텍처(JSP Architecture)

 

반응형

'공부 > JSP' 카테고리의 다른 글

#03. HTML 입력 양식  (0) 2022.01.26
#02. 개발 환경 구축  (0) 2022.01.20

댓글