Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Be Coder

웹 프로그래밍 방식 본문

웹 프로그래밍 방식

ForzaCoding 2020. 4. 17. 20:46

JSP 이전의 웹 프로그램 기준.

 

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

- 웹 서버에 미리 보여줄 HTML페이지, CSS, 이미지, 자바스크립트 파일을 저장해놓고, 브라우저에서 요청이 오면 그대로 전달하는 방식.

- 따라서, 사용자는 페이지가 변경되지 않는 이상은 고정된 웹 페이지만 보게 됨. 

- 오늘날엔 날씨, 환율, 주가 등 실시간 정보를 표시해야되므로 거의 사용되지 않음.

- 하지만, 정적 웹 프로그래밍의 구성요소는 JSP에서 화면 디자인과 기능 처리 담당하기 때문에 미리 알아두는게 좋음.

구성 요소 설명
웹 서버 각 클라이언트에게 서비스를 제공하는 컴퓨터를 의미
클라이언트 네트워크로 서버에 접속한 후 서버로부터 서비스를 제공받는 컴퓨터를 의미
HTTP 프로토콜 www 서비스를 제공하는 통신 규약. 웹 서버와 클라이언트는 HTTP 프로토콜을 이용해 데이터 주고 받음.
HTML www 서비스를 제공하기 위한 표준 언어
자바스크립트 HTML 웹 페이지의 여러 동적 기능을 제공하는 스크립트 언어
CSS HTML의 디자인과 관련된 기능 제공

- 정적 웹 프로그래밍에서 세로운 정보를 제공하려면, HTML에서 해당 정보가 표시되는 곳을 찾아 정보 수정 후, 클라이언트에게 제공. 실시간 정보 제공이 필요한 오늘날엔 적합하지 않음.

 

즉, 정적 웹 프로그래밍은

> 사용자에게 고정된 정보만 제공함.

> 정보 수정 시, 관리자가 직접 HTML 소스를 수정하여 사용자에게 정보를 제공해야함.

 

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

- 정적 웹 프로그래밍과 달리, 관리자가 하던 역할을 웹 애플리케이션 서버(WAS)가 수행함.

- 클라이언트의 요청이 올 때 마다, 서버가 데이터베이스에 접근해서 실시간 정보를 제공할 수 있음.

- 처음 동적 프로그래밍 방식을 쓴 기능은 CGI(Common Gate Interface - Perl언어가 대표적). 

 

* CGI 동작 방식 특징

> 초기 웹 프로그램에서 사용

> 프로세스 방식

> 서버 부하가 심함

 

CGI 방식은 웹 어플리케이션 서버에서 실행되는 기능들이 모두 프로세스 방식으로 실행됨.

 

사용자1이 정보 요청하면 웹 어플리케이션 서버가 프로세스를 메모리에 생성. 사용자들이 늘어, 똑같은 요청을 하게되어도, 각 사용자에 대해 처음부터 메모리에 기능을 로드하여 요청을 수행해야함. 사용자가 많아지면, 서버 메모리에 과부하가 걸림.

이를 완화하기 위해, JSP, ASP, PHP같은 동적 웹 프로그래밍 기술이 등장.

 

 

3. JSP

- 기본적으로 스레드 방식

- 초기 동적 웹 프로그래밍 방식과 달리 유저의 같은 기능 다수 요청에 대해 처음부터 메모리에 각각 로드되지 않아도 됨.

   >  스레드 사용으로 수행 속도를 낮추는 요인인 외부 장치로부터 메모리의 적재 과정을 거치지 않아도 되니, CGI보다 빠르게 동작.

   > 다수의 사용자가 접속해서 기능을 수행하는 환경에 적합.

 

- JSP 동작 방식 특징

> 스레드 방식.

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

> 클라이언트가 동일한 기능을 요청하면 기존에 사용한 기능을 재사용.