동적페이지란?
페이지URL이 고정된 데이터로 구성된 정적인 페이지와는 반대되는 개념으로, 사용자와 상호작용하여 그때 그때 다른 데이터를 출력하는 웹 페이지를 말한다. 페이지명은 같지만 그 뒤에 설정되는 변수값에 따라 각각 다른 페이지가 보여진다.
우리가 흔히 보는 user_id 값에 따른 개인의 마이 페이지를 보여주는 경우라던가, 특정 글에 대한 수정 페이지 등을 생각하면 이해가 쉬울 것이다.
동적페이지의 종류
Sevlet
자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다.
서블릿은 JSP와 비슷한 점이 있지만, JSP가 HTML 문서 안에 Java 코드를 포함하고 있는 반면, 서블릿은 자바 코드 안에 HTML을 포함하고 있다는 차이점이 있다.
[ Servlet 특징 ]
-
클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트
-
html을 사용하여 요청에 응답한다.
-
Java Thread를 이용하여 동작한다.
-
MVC 패턴에서 Controller로 이용된다.
-
HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다.
-
UDP보다 처리 속도가 느리다.
-
HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다.
JSP
JSP는 Java Server Page의 약자로, 인터넷 서버 프로그래밍 기술이다.
자바를 이용한 서블릿 개발 방식이 쉽지 않자, PHP, ASP 등과 같이 HTML 코드 내에 직접 비즈니스 로직을 삽입할 수 있는 개발 방식이 필요하게 되어 개발한 기술이다. JSP는 플랫폼에 독립적인 기술 방식이다.
자바 소스코드로 작성된 부분은 웹 브라우저로 보내는 것이아니라 웹 서버에서 실행된다. 웹 프로그래머가 소스코드를 수정 할 경우에도 디자인 부분을 제외하고 자바 소스코드만 수정하면 되기에 효율을 높여준다. 또한 컴파일과 같은 과정을 할 필요없이 JSP페이지를 작성하여웹 서버의 디렉토리에 추가만 하면 사용이 가능하다. 서블릿 규칙은 꽤나 복집하기 때문에 JSP가 나오게 되었는데 JSP는 WAS(Web Application Server)에 의하여 서블릿 클래스로 변환하여 사용되어 진다.
1) ASP
ASP는 비주얼 베이직을 기본으로 개발된 VBScript ( JavaScript에 대항하여 마이크로소프트사가 비주얼 베이직 언어를 기초로 만든 스크립트 언어이다 ) 를 HTML 문서에 직접 코딩하여 동적인 웹 페이지를 구현하는 기술이다.
ASP는 HTML 페이지에 VBScript 의 소스를 내장한 프로그램이며, ASP 파일은 일반 텍스트 파일로 확장자는 asp이다.
현재의 시간을 출력하는 간단한 ASP 프로그램으로 태그 <% .... %> 사이에 있는 부분이 VBScript 소스이다.
2) PHP
PHP는 하이퍼텍스트 전처리기<PHP: Hypertext Preprocessor>를 의미하며, 다양하게 쓰이는 오픈 소스 일반 프로그래밍 언어의 일종이다. PHP의 원래 목적은 웹 개발에서 동적 웹 페이지를 빠르게 개발하기 위해 설계되었다.
웹 개발의 PHP를 구현하기 위해 HTML 소스 문서 안에 PHP로 작성된 코드를 넣어 구현하며, PHP 처리 기능이 있는 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성하는 방식으로 동적 웹 페이지가 제작된다.
현재 PHP는 웹 개발자가 동적으로 생성되는 웹 페이지를 개발하는 분야에 가장 많이 활용되며, PHP는 명령 줄 인터페이스 방식의 자체 인터프리터를 제공하여 이를 통해 범용 프로그래밍 언어로도 사용될 수 있으며 그래픽 애플리케이션 등 다양한 분야에 사용되고 있다.
PHP의 장점
PHP의 장점은 초보에게는 매우 쉽고, 전문가에는 많은 고급 기능을 제공한다는 점이다. PHP를 활용하면 매우 쉽게 간단한 스크립트로 웹을 구축할 수 있다. HTML 태그 내부에서 태그 <%php ... %> 사이에 PHP 코드가 삽입된다.
자바스크립트와 구분되는 점
웹 개발에서 PHP가 클라이언트 측 자바스크립트와 구별되는 점은 PHP 소스 코드는 서버에서 실행하여, HTML 을 생성하여 전송된다는 점이다. 서버는 확장자 .php를 인식해 PHP 실행 처리를 하며, 클라이언트는 스크립트 실행 결과만을 받게 된다. 그러므로 클라이언트 측은 PHP 소스 코드를 전혀 볼 수 없다.
Reference
'CS STUDY > Computer Science' 카테고리의 다른 글
CPU bound VS I/O bound (0) | 2022.03.01 |
---|---|
프로세스 VS 스레드 (0) | 2021.03.20 |
Network _OSI 7계층 & TCP/IP 4계층 (0) | 2021.02.24 |
Data/Network_RAID개념&RAID level (0) | 2021.02.04 |
What is 네트워크(Network)? (0) | 2021.01.17 |