1. Active Server Pages. 그 정체는?

ASP(Active Server Pages)는 1995년 말에 등장한 IIS(Internet Information Server)의
세 번째 버전으로 MicroSoft사 NT머쉰의 IIS 3.0이상에서만 동작하는 특별한 페이지이다.
이 ASP라는 페이지는 Web을 프로그래밍 할 수 있도록 해 주는, 서버에서 동작하는 페이지로써
기존의 HTML 페이지와는 상당히 다른, 동적인 구성을 가질 수 있게 해 준다.
이 이야기는 처음 웹 프로그래밍을 접할지 모르는 여러분에게는 상당히 중요한 이야기일 것이다.
다음 그림을 보도록 하자.

HTML의 경우의 서버의 역할: 요청한 HTML 페이지의 전송


위의 그림은 클라이언트가 서버의 HTML 페이지를 요청할 경우의 동작내용을 보여주고 있다.
클라이언트란 어떤 정보나 서비스를 요청하는 사용자들을 의미한다.
즉, 웹을 서핑하는 모든 사용자들은 클라이언트들인 것이다.
그들이 어떤 서버로(예를 들면, 조선일보 서버) 접속해서 show.html을 요청한다면,
조선일보 서버는 show.html을 접속한 사용자 클라이언트의 브라우저에게 건네주게 된다.
이 건네주는 html 페이지는 태그, 스크립트 등으로 구성된, html 언어로 제작된 페이지이다.
서버가 그 html 코드를 사용자의 브라우저로 넘겨주면 서버의 역할은 그것으로 끝난다.
그 후, 그 페이지를 해석하고 우리의 눈에 보여지게 하는 것은 사용자들의 브라우저이다.
그렇기에 웹에 접속하고자 하는 사용자들은 반드시 html 코드를 해석할 수 있는 브라우저가
있어야 한다. 이미 알고 있는 이야기인지도 모르겠지만 다시 한번 그림과 같이 설명하면 다음과 같다.

왼쪽이 사용자가 서버에게 요청한 html 페이지이고, 서버는 요청받은 html 페이지를
클라이언트에게 이 모습, 이대로 넘겨주게 된다. 나머지는 클라이언트의 브라우저의 몫이니 말이다.
해서 브라우저로 이 html 페이지를 받은 사용자는 브라우저로 오른쪽 그림과 같은
결과를 보게 되는 것이다.

서버의 역할은 클라이언트가 요청하는 html 페이지를 찾아서 사용자에게 넘겨주기만 하면
되는 것이다.   나머지는 사용자의 브라우저가 알아서 해석해서 보여주는 것이니 말이다.
그렇다면, ASP 페이지는 뭔가 다르다는 것인가?
그렇다. 뭔가 상당히 다르기에 이렇게 뜸을 들이는 것이다.

ASP의 경우

ASP의 경우는 사용자가 어떤 페이지를 요청했다고 가정했을 때,
그 페이지를 html 페이지처럼 사용자의 브라우저에게 그냥 보내주지는 않는다.
사용자에게 보내주기 이전에 서버내에서 어떤 처리를 하고 그 처리 결과를 태그로 만들어,
html 형식으로 다 만든 뒤, 그 만들어진 페이지를 사용자의 브라우저에게 보내주는 것이다.
왜 그래야 하는가? 처리를 안 하면 안되는가?
잘 이해가 되지 않는 독자들이 있다. 진짜다.
먼저, 이 시점에서 바로 그런 독자들이 궁금해 하는 내용을 정리해 본다.

  무슨 처리를 서버에서 한다는 건가? HTML로 하면 안되나?

  여러분은 자신의 홈페이지를 만들어 본 적이 있는가? 
  여러분의 홈페이지를 꾸미기 위해 어떤 것들을 올려놓았는가?
  여러분 가족의 사진? 자신의 소개?  자신이 취미로 삼고있는 것들에 대한 자료?
  그렇다. 아마도 그 정도가 일반적인 수준일 것이다.  뭐~~ 그래도 좋을 것이다.
  우리 가족과 친척들 그리고 적어도 몇몇 친구들은 방문해 줄 것이니 말이다.
  그런데, 그들이 방문했었다는 것을 어떻게 알 수가 있을까?
  그들이 자신들이 왔다간 흔적을 남기지 않는 한 우리는 누가 나의 홈페이지를
  방문했었는지 알기가 어렵다. 그 흔적을 남기게 하는 방법이 무엇인가?
  일반적으로 방명록이라는 것이 있다. 사이트에 방문한 소감을 적어주는 것 말이다.
  그러나, 그것은 기존의 HTML 페이지로는 구현이 불가능하다.
  아마도 여러분은 무료로 제공해 주는 방명록을 설치해 본 경험이 있을런지도 모른다. 
  그런 것을 웹 상에서 프로그래밍으로 가능하게 하는 것이 바로 ASP인 것이다.
  (물론 CGI도 가능하다. 그러나, 우리의 주제는 ASP이다)

HTML 페이지의 한계를 대신해 등장한 ASP 페이지는 서버와 연동하는 작업이
가능한 특별한 페이지로 존재한다.
반드시 서버를 거쳐서 1차 해석이 되어지고,
그 결과로 만들어진 HTML을 사용자에게 보내게 한다.

사용자가 요청한 ASP페이지는 ASP.DLL을 무조건적으로 거치며,
ASP.DLL을 통해 해석이 되어진 뒤에 모든 ASP 코드들이 HTML 태그로 바뀌어지고,
사용자에게 건네어지는 것이다. 
(사용자는 그 HTML코드를 직접적으로 보게 되는 것이 아니라. 브라우저에 의해
다시 해석된 모습으로 보게된다. 지금 여러분이 이 페이지를 보고 있는 것처럼 말이다)

ASP는 IIS 4.0이 배급되면서 더욱 발전적인 기능들을 가지게 되었고,
실로 그 기능은 기존의 Visual Basic 언어의 많은 부분을 웹에서 사용가능하게 하고 있다.
또한, Visual Basic이 서버 컴포넌트를 제작하기에 가장 적합한 툴로 인식되어 지면서
ASP와 Visual Basic은 같이 그 인기가 상승하고 있는 실정이다  

내용출처 : [기타] 인터넷 : 태오 asp

+ Recent posts