Today : 2024-11-02 Saturday
홈 현재 경제노트 가족은 388,872명 입니다.
당신은 14,355,396번째 방문객 입니다.
경제노트 서가 가족이 쓰는 노트 책밑줄긋기 독서모임
로그인 |
회원가입없이 경제노트를 이메일로 받고 싶으신 분은 이름과 이메일을 입력해 주세요
개인정보 수집및 이용 안내에 동의
(확인하기)
뉴스레터 수정/해지
추천인
이름
메일
추천받는 분
이름
메일
인사말
개인정보 수집및 이용 안내에 동의
(확인하기)
한번에여러명추천하기
IT과학 일반글
[인터넷의 역사]1994년: PHP과 CGI, 웹에 새 생명을 불어넣다
입력 2004-07-15 오전 10:20:53
트위터에 담기 스크랩하기 내모임에담기 이메일추천하기 인쇄하기

[래즈머스 러도프(Rasmus Lerdorf). PHP(Php: Hypertext Preprocessor)의 개발자. PHP로 대표되는 PERL, 자바(Java), DHTML과 같은 CGI 스크립팅 언어는 WWW을, 단순히 텍스트와 그래픽만 볼 수 있는 환경이 아닌, 프로그래밍까지 할 수 있는 컴퓨팅 환경으로 바뀌어 놓았음.]

래즈머스 러도프(Rasmus Lerdorf)가 PHP(Php: Hypertext Preprocessor) 스크립팅 언어 개발. PHP는 기본적으로 HTML에 새로운 기능을 부여하기 위한, 웹 상에서 '동적'인 페이지를 만들어 주기 위해 만들어진 언어임. PHP는 웹 서버 측의 HTML 코드 내부에서 작성되고 작동하는 언어이기 때문에 클라이언트 측에서는 PHP 코드를 볼 수 없음.

 

PHP는 HTML 문서 내부에서 PHP 고유의 태그 안에 작성됨. 따라서 개발자는 HTML과 PHP 사이를 오고 가며 손쉽게 코딩 작업을 할 수 있음. 또한 PHP는 기존의 PERL, C, 그리고 이후에 개발된 자바(Java)의 문법을 상당부분 차용해 기존의 개발자들을 많이 끌어들일 수 있었음.

 

특히, PHP는 NNTP, POP3, HTTP와 같은 다양한 프로토콜을 통해 인터넷 상의 수많은 네트웍, 그리고 여러 종류의 데이터베이스와 호환될 수 있다는 점이 가장 큰 장점임. PHP로 작성된 동적 웹 페이지에는 .php 확장자가 붙음.

 

PHP는 1997년 다른 개발자들에 의해 수정/보완돼 WWW에 자유롭게 배포됨. 오늘날 대표적인 오픈 소스 개발 언어 중 하나인 PHP는 레드햇 리눅스(RedHat Linux)와 같은 수많은 오픈 소스 웹 서버를 위한 CGI 스크립팅 언어로 사용되고 있음.

 

PHP와 같은 CGI 스크립팅 언어의 발달로 WWW는 (기업과 사용자 모두에게) 전보다 훨씬 다양한 기능을 제공할 수 있게 됐으며, 이는 전자상거래와 인터넷 마케팅, 콘텐츠 산업의 발전으로 이어짐.

 

웹 서버가 처음 나왔을 때, 그 기능은 단순한 '로봇 웨이터'와 비슷했습니다. 클라이언트가 뭔가를 요청하면 웹 서버는 그 데이터를 가져와 클라이언트에게 전해줍니다. 이때 웹 서버는 데이터의 내용을 알지 못할 뿐만 아니라, 스스로의 힘으로 처리하지도 못합니다. 그저 단순하게 요청 받은 데이터를 전송해 줄 뿐이죠.

 

하지만 이후 웹 서버는 보다 정교해집니다. 다수의 클라이언트로부터 들어오는 수많은 요청을 동시에 들어줄 수 있을 뿐 아니라, 사용자가 웹 페이지에서 내리는 다양한 '명령'들을 처리할 수 있도록 진화된 것이죠. 여기서 웹 페이지에 내리는 다양한 명령들이란, 예를 들어, 게시판에 글을 올리거나, 검색을 하거나, 사이트에 회원 가입을 하는 것 등을 말합니다. 이 경우 사용자의 '선택'에 따라 다음 웹 페이지에 출력되는 '결과'가 달라지게 되죠.

 

이렇게 사용자가 입력하는 정보에 따라 다르게 나타나는 페이지라고 해서 "동적(dynamic)" 페이지라고 부릅니다. 반대로, 순수 HTML로만 작성돼 단순히 링크 클릭으로 항상 고정된 똑 같은 정보가 뜨는 것을 "정적(static)" 페이지라고 부르죠.

 

이 동적인 페이지를 처리하기 위해 만들어 진 기술이 바로 CGI(Common Gateway Interface)입니다. CGI는 원래 동적 페이지의 처리를 위해 사용자로부터 정보를 받고 결과를 사용자에게 전송하는 방법을 정의한 '약속(프로토콜)'을 의미합니다. 그러나 CGI로 작동하는 프로그램 즉, CGI 프로그램을 포함하기도 합니다.

 

사용자가 웹사이트로부터 동적인 페이지 정보를 요청하면, 웹 서버는 요청에 맞는 CGI 프로그램을 실행합니다. 그러면 CGI 프로그램이 웹 서버로부터 넘겨 받은 사용자가 입력한 변수들을 바탕으로 결과를 생성하고, 웹 서버는 이 결과를 받아 사용자의 브라우저에 전송하게 됩니다. 일반적으로 CGI는 웹 서버의 확장 프로토콜이기 때문에, 사용자 측에서는 어떤 웹 페이지가 동적이고 정적인지, 어느 부분에서 CGI 프로그램이 작동하는지 알아차리지 못합니다. (그럴 필요도 없죠.)

 

이렇게 CGI 기술을 기반으로 사용자는 웹 서버와 상호작용을 할 수 있습니다. 단순히 링크 클릭에 그치는 것이 아니라, 웹 사이트에 정보를 입력하고 원하는 결과가 페이지에 출력되도록 하는 것이죠. 예를 들어, 사용자가 웹사이트에 있는 검색 창에 검색 조건들을 입력하면, CGI 프로그램은 웹 서버와 연결된 SQL 데이터베이스 서버로부터 필요한 정보를 찾아주고 이를 알맞은 형식으로 사용자 브라우저에 생성시켜 주게 됩니다. (CGI에 대한 자세한 설명은 "도대체 CGI란 무엇인가?" 기사를 참조하기 바랍니다.)

 

이렇게 웹사이트를 마치 워드 프로세서나 스프레드시트 같은 애플리케이션을 이용하는 것처럼 만들어 준다고 해서, 이렇게 상호작용 기능을 갖는 웹 서버를 "애플리케이션 서버(application server)"라고 부르기도 합니다. "애플리케이션 서버"란 용어는 판매 업체 측에서 서버를 보다 쉽게 마케팅하기 위해 주로 쓰이기도 합니다. 서버에 필요한 기술 요소와 기능들을 모두 포함시킨 일종의 '패키지 솔루션'처럼 판매하기 위한 것이죠. 애플리케이션 서버는 대표적으로 온라인 결제를 많이 처리해야 하는 전자상거래 사이트나 방대한 데이터베이스를 처리해야 하는 기업용 인트라넷 사이트에서 많이 이용됩니다.

 

대표적인 웹 애플리케이션 서버 제품으로는 얼라이어(Allaire) 사에서 개발한(얼라이어는 2001년 매크로미디어에 인수됨) "콜드퓨전(ColdFusion)"이 있습니다. 콜드퓨전은 웹 서버 소프트웨어와 개발 툴이 함께 포장된 패키지 제품으로, 데이터베이스와 웹 페이지를 연동시켜 동적인 페이지를 생성하는데 우수한 성능을 제공합니다. 예를 들어, 콜드 퓨전으로 개발된 웹사이트에서 사용자는 웹사이트에 자신이 사는 지역의 우편번호를 입력하면, 웹 서버가 데이터베이스로부터 정보를 추출해 그 우편번호 지역에 가장 가까운 영화관/식당 등의 정보를 HTML 형태로 보여줄 수 있습니다. 동적 페이지의 가장 전형적인 예이죠.

 

이런 웹 서버의 CGI 프로그램을 작성해 주는 프로그래밍 언어에는 C, PHP, PERL, ASP(Active Server Pages) 등이 있습니다. 이들은 모두 서버 측의 HTML 코드 안에 (즉 웹 페이지 자체 내에) 코드를 '설치'해, 사용자로부터 들어오는 요청을 처리하게 됩니다.

 

ASP는 MS에서 개발한 동적 페이지를 생성해 주는 기술입니다. ASP는 기본적으로 다른 CGI 스크립트 언어들과 비슷하지만, MS의 비주얼 베이직(Visual Basic)의 개발 환경과 문법을 가져왔다는 점이 가장 큰 특징입니다. (기존의 비주얼 베이직 프로그래머들을 MS의 인터넷 개발 환경으로 끌어들이기 위한 전략이죠.) ASP로 작성된 동적 웹 페이지에는 .asp라는 확장자가 붙습니다.

 

그렇다고 CGI 프로그램이 모두 웹 서버에서 설치되고 움직이는 것은 아닙니다. 예를 들어, 자바스크립트(  JavaScript  ), DHTML, 자바 애플릿(Java Applet) 역시 동적 페이지를 만들어 주는 CGI 기능을 갖지만 웹 서버에 설치되지 않습니다. 이들 프로그램 작동에 필요한 파일들은 기본적으로 사용자 PC에 설치됩니다. 그리고 PC의 웹 브라우저가 이들 프로그램을 직접 작동시키는 것이죠.

 

DHTML(Dynamic HTML)은 웹 서버에 요청을 보낼 필요 없이, 브라우저가 자체적으로 동적 페이지를 만들어 주는 HTML의 새로운 확장 버전을 말합니다. 즉, 사용자 컴퓨터가 웹 서버 대신 CGI 기능을 제공하는 것이죠. dHTML(주로 d를 소문자로 할 때)는 또한 매번 웹 사이트를 방문할 때마다 내용이 달라지는 웹 페이지를 뜻하기도 합니다. 사용자의 위치에 따라, 시간에 따라, 사용자의 프로파일에 따라, 아니면 그저 매번 방문할 때마다 웹 페이지의 내용이 달라지는 것이죠.

 

SUN에서는 ASP의 '대안'으로 자바를 이용한 동적 페이지 생성 기술, JSP(Java Server Page)를 개발합니다. JSP는, 자바 애플릿과는 달리, 사용자 PC가 아닌 서버에서 작동되는 자바 기술로 HTML 코드와 연동돼 다이내믹한 웹 페이지를 만들어 줍니다. JSP로 작성된 웹 페이지에는 .jsp 확장자가 붙으며 어떤 플랫폼이나 서버에서도 무난히 작동됩니다.

 

이렇게, PERL, PHP, 자바(Java), DHTML과 같은 CGI 스크립팅 언어의 등장으로 WWW은, 단순히 텍스트와 그래픽만 볼 수 있는 환경이 아닌, 프로그래밍까지 할 수 있는 컴퓨팅 환경으로 바뀌게 됩니다.

 

예병일의경제노트 추천정보
 
공유하기
덧글(0) 스크랩(0) 이 노트 글을...
예병일의경제노트 노트지기 덧글
덧글 달기
덧글달기
이름     비밀번호
엮인글(트랙백) 쓰기 주소 : http://note.econote.co.kr/tb/fastidio/7226    
좋은 글을 쓰는 3가지 방법
[인터넷의 역사]1994년: 인터넷 보안, SSL, 그리고 전자상거래
노트 목록으로 이동
필자 예병일 소개 경제노트 소개 1:1문의하기 개인정보 취급방침
예병일의 경제노트    대표자: 예병일    개인정보 관리책임자: 조영동 팀장    전화: 02-566-7616   팩스: 02-566-7619