JSP 란?
HTML문서에 내부적으로 자바 문법을 사용할 수 있게 하는 웹페이지 스크립트 언어
- JSP 나오기전에 웹 브라우저를 통해 웹 페이지를 보여주는 기능이 있었는데, 아파치(Apache) 같은 웹 서버를 이용해서 웹 페이지들을 브라우저에 표현하는 상식이 있었다. 이게 정적 웹 프로그래밍
아파치(Apache)?
세계에서 가장 많이 쓰는 웹 서버중 하나임.
HTTP 서버이고, 굉장히 다양하고 기능적인 면에서 우수함, 구축이 쉬워서 많이 사용한다.
하지만? 아파치 자체만으로 엄청 무겁고, Squid와 함께 Sloworis 취약점이 발견되어 프로그래밍 능력이 능숙하거나 대형사이트 운영자는 Nginx, IIS 를 주로 사용하함.
사용이 무료이기 때문에 중소기업에서 많이 사용한다.
정적 웹 프로그래밍?
-> 웹 서버에 미리 보여줄 HTML 페이지, CSS, 이미지, 자바스크립트 파일을 저장해 놓고 브라우저에서 요청할 경우 그대로 전달하는 방식
따라서, 사용자는 페이지가 변경되지 않는 한 고정된 웹 페이지를 보는 것임, 새로고침을 하지 않으면 실시간으로 변하는 효과 같은 걸 못 본다.
정적 웹 프로그래밍 특징!
- 사용자에게 화면 디자인 같은 고정된 정보만 제공
- 정보를 수정해야 될 때 관리자가 직접 HTML 소스를 수정해서 사용자에게 정보를 제공
동적 웹 프로그래밍?
-> 빠르게 변하는 사용자들의 요구에 만족시키기 위하여 동적으로 기능을 처리하는 방식으로 웹 프로그래밍을 수행.
처음에 동적인 방식으로 프로그램을 제공하는 기능은 대표적으로 CGI(Common Gate Interface, 공용 게이트웨이 인터페이스) 였다.
CGI 방식은 웹 애플리케이션 서버에서 실행되는 기능들이 모두 프로세스 방식으로 실행됨
CGI 특징!
- 초기 웹 프로그램에서 사용하는 방식
- 프로세스 방식으로 실행됨
- 서버의 부하가 심함.
처음에는 사용자 수와 수행할 기능이 적어서 사용하는데 문제가 없었지만 인터넷이 발전하면서 사용자수가 늘어났고,
그만큼 처리할 일도 많아져서 메모리에 과부하가 걸림
이 문제를 개선하기 위해 나온 것이! JSP, ASP, PHP 와 같은 동적 웹 프로그래밍 기술이다!
JSP 특징!
기본적으로 스레드방식으로 실행하기 때문에 CGI 방식보다는 효율적으로 기능을 수행함
동작 방식의 특징
- 프로세스 방식이 아닌 스레드 방식으로 실행함
* CGI 방식은 웹 애플리케이션 서버에서 실행되는 기능들이 모두 프로세스 방식으로 실행됨
- 클라이언트의 요구를 처리하는 기능은 최소 한번만 메모리에 로드됨
- 클라이언트가 동일한 기능을 요구하면 기존에 사용한 기능을 재사용함
그렇다면 프로세스와 스레드 방식이 간단하게 뭔지?
프로세스 방식 : 실행중인 프로그램, 자기만의 공간에 할당받아서 사용한다.
-> 디스크에 있는 프로그램이 메모리에 로드되면 프로세스가 됨!
-> 스택(Stack), 힙(Heap), 데이터(Data), 코드(Code)
스레드 방식 : 프로세스 안에서 실행되는 흐름의 단위, 다른 스레드와 공간을 공유하면서 사용한다.
'정보처리기능사+웹개발 국비 수업' 카테고리의 다른 글
[프로젝트] 게시판 만들기 / 들어가기 전에 (0) | 2023.07.22 |
---|---|
[스프링] 팀 프로젝트 - 게시판 만들기 (0) | 2023.07.01 |
[정보처리기능사 + WEB] Java - 자료형과 조건문 (0) | 2023.06.03 |
이클립스 Project Explorer 창이 사라졌을 때 (0) | 2023.05.26 |
이클립스(Eclipse) 폴더 가져오기 (0) | 2023.05.25 |