login register Sysop! about ME  
qrcode
    최초 작성일 :    2003년 04월 15일
  최종 수정일 :    2003년 12월 05일
  작성자 :    Dukyoung (김덕영)
  편집자 :    Taeyo (김 태영)
  읽음수 :    58,444

강좌 목록으로 돌아가기

필자의 잡담~

여러분에게는 올 한해가 어떤 한해였었나요... 저는 뭐... 그냥 많은 쓰린 경험과 낙담.. 그리고 많은 외로움을 느꼈던 한해였을 뿐이랍니다. 뭐... 긴 인생에서 보면 그러한 실패도 없다면 재미도 추억도 없지 않을까 합니다. 하하하 (속으로는 울고 이씀다 ㅠ_ㅠ) 해서, 긍정적으로 생각한답니다. 하하하.. 어쨌든, 새

안녕하세요. 초보자를 위한 ASP 강좌 그 두번째 시간입니다.

지난 시간에 우리는 ASP 를 본격적으로 공부하기 이전의 예비 단계로서, '서버', '클라이언트', '웹서버', 'IIS' 등의 개념에 대해서 알아보는 시간을 가졌습니다. (설마.. 벌써 까먹으신건 아니시겠죠? 에이~ 아닐거야.. ^^)

그래서 오늘은 실질적인 ASP 강좌, 그 첫번째 시간이 되겠습니다. 지난 시간에 공부한 내용들을 토대로 오늘은 두가지 정도의 내용을 생각해 보려고 합니다.

1. ASP 란 무엇인가?
2. ASP 는 어디에 쓰이는 물건인가?

자.. 그럼 이제부터 위의 질문에 맞추어서 ASP 를 본격적으로 해부해 보도록 하겠습니다.

1. ASP 란 무엇인가?

ASP 란 'Active Server Pages' 의 약자이며, 우리 말로 번역하자면 '동적으로 서버에서 작동하는 페이지' 정도로 해석될 수 있을 것 같습니다. 동적(動的, Active) 이라.. 그렇다면 반대로 '정적(靜的, static)' 인 페이지도 있다는 뜻일까요? 맞습니다. 정적인 페이지도 있습니다. 우리가 알고 있는 HTML 이 바로 그것입니다. '다 좋은데.. 정적인건 뭐고 동적인건 뭔지 말을 해줘야 할거 아냐!!'  라고 외치시는 분들을 위해(한문 공부를 하십셔~) 잠시 그 개념의 차이를 말씀 드리겠습니다.

아주 간단하지만 의미 있는 예를 하나 들어보도록 하지요. 페이지를 하나 만들어서.. 이 페이지를 보고 있는 '현재 시간' 을 보여주려고 합니다. 이것을 HTML 과 ASP 페이지로 하나씩 만들어 보도록 하겠습니다.

위에 보이는 두개의 페이지는.. 얼핏 보기에 똑같아 보입니다만 중대한 차이가 있습니다. 두 페이지의 '새로고침' 링크를 살포~시 클릭하시면 그 차이를 발견하실 수가 있습니다. 어때요? 발견하셨나요?

그렇습니다. HTML 페이지에서는 새로고침을 아무리 눌러도 현재 시간이 변하지 않습니다만, ASP 페이지에서는 새로고침을 누를때마다 현재 시간이 바뀌는 것을 보실 수가 있습니다.

이유는 간단합니다.

HTML 은 언제 어느곳에서 보더라도 우리가 작성한 모습 그대로일 수 밖에 없습니다. 다시 말해, HTML 페이지 안에는 시간을 '2003-04-15 오전 10:08:07 입니다.' 라고 직접 입력할 수밖에 없다는 말씀입니다. 이렇게 하면 화면에 보여지는 시간이 현재 시간인 것처럼 보여지지만, 실제로는 미리 입력되어 있는 '이미 작성된 문자열' 에 불과하다는 것을 알 수 있습니다. 그렇기 때문에 HTML 을 변하지 않는, '정적(靜的, static)' 이라고 표현하는 것이지요.

좋습니다.. 그렇다면 ASP 는 과연 무언가 다른걸까요?
그렇습니다. ASP 는 HTML 과는 확실히 다릅니다. (두둥~~)

ASP 는 어떤 특별한 과정을 거쳐서, 작성자의 의도대로 HTML 을 바꿀 수 있는 것입니다. 우리는 지난 시간에 '서버' 와 '클라이언트' 를 공부하면서 HTML 의 작동 원리에 대해서 잠시 생각해 보았습니다. 기억이 나시는지요? (안나신다굽쇼? -_-a) 좋습니다. 친절한 설명을 위해서 HTML 의 실행 과정 그림을 한번 보도록 하겠습니다.

'클라이언트가 서버로 HTML 페이지를 요구하면 서버에서는 별다른 처리 없이 HTML 을 클라이언트의 웹브라우저로 보내준다' 는 것이 바로 HTML 의 처리 과정이었습니다.

ASP 도 HTML 과 비슷한 과정을 거칩니다만.. 중요한 하나의 과정이 중간에 추가됩니다. 다음 그림을 보면서 말씀드리도록 하겠습니다.

무엇이 추가되었는지 이해하시겠습니까? 클라이언트가 서버로 페이지를 요구하는 것은 똑같습니다. 그런데, HTML 이 아닌 ASP 페이지를 요구하는 경우, 서버에서는 이것을 HTML 처럼 바로 돌려보내 주는 것이 아니라 ASP.DLL 이라는 특이한 친구를 실행시키고 나서, 그 결과물(그 결과로 작성된 HTML)을 클라이언트에게 돌려보내 준다는 것입니다. 이 한 가지의 과정의 추가로 인해서 HTML 과 ASP 는 엄청난 차이를 가지게 됩니다.

음.. 아직 잘 이해가 안가시나요...? 좋습니다. 그렇다면 앞에서 예를 들었던 '현재 시간' 을 표시하는 두 페이지의 소스를 비교해 보겠습니다. 다음의 내용을 유심히 보시기 바랍니다.

HTML
현재 시간은

2003-04-15 오전 10:08:07 입니다.
ASP
현재 시간은

<%=now%> 입니다.

전체 소스가 아닌 일부분의 소스만 올려놓았습니다. 그 이유는 HTML 과 ASP 의 차이를 말씀드리려는 데에는 이 소스만으로도 충분할 것 같네요. (사..사실은 귀찮아서... -_-a)

HTML 페이지에서는 보시다시피 시간을 직접 입력 해버렸습니다. 그러므로 위에서 말씀드렸던 것처럼 백날~ 새로고침을 해도 시간은 바뀌지 않습니다.

하지만 ASP 는 <%=now%> 라는 약간 낯선 형태의 무언가가 등장했습니다. 자세한 설명은 다음에 드릴 예정입니다만 이것의 의미를 간략하게 말씀드리자면, 'ASP 안에서 현재 시간을 의미하는 now 라는 함수를 호출하여 출력하세요' 라는 뜻이 됩니다. (모든 HTML 태그가 '<' 로 열고 '>' 로 닫는 것과 마찬가지로, ASP 는 '<%' 로 열고 '%>' 로 닫아야 합니다. 이것은 ASP 문법의 기본이므로 반드시 알아두시기 바랍니다.)

때문에 페이지를 '새로 고침' 하면, HTML 페이지는 단순히 입력된 내용만을 전달해 주지만, ASP 페이지는 페이지 안에 있는 ASP 소스(<%=now>)를 'ASP.DLL' 에 통과시킨 다음, 그 결과(현재 시간)를 HTML 형식으로 받아서 클라이언트에게 출력해 주게 되는 것입니다.

이 과정을 그림으로 표현하자면 다음과 같습니다.

어떻습니까? 이제 ASP 라는 친구가 조금은 친숙해 지셨나요?

그렇다면.. 이제 ASP 의 탄생 배경에 대해서 잠시 살펴보도록 하겠습니다. (솔직히 이런 역사 시간 같은 이야기는 지루한 게 사실이지만, 그래도 언제, 누가, 어떻게 만들었는지 정도는 상식으로 알아두시는 것도 좋지 않을까요? ^^)

ASP는 마이크로소프트(Microsoft) 사에 의해서 1996년 7월 16일에 데날리(Denali) 라는 코드명으로 공식적으로 발표되었습니다. 이것의 베타 버전은 1996년 11월에 배포되었고, ASP 정식 버전 1.0 이 세상에 선보이게 된 것은 1996년 12월 12일이었습니다. 마이크로소프트 사에서 1997년 3월에 IIS 웹서버를 제공하면서부터 ASP 는 더욱 많이 알려지게 되었으며, 98년에는 IIS 4.0 과 퍼스널 웹 서버 4.0 (PWS 4.0)을 발표하게 됩니다. 이 둘은 ASP 버전 2.0을 지원했으며, ASP 1.0 에 비해 많은 성능 향상을 가져오게 됩니다. (실제로 우리 나라에서 많은 개발자들이 ASP 에 관심을 가지게 된 때가 바로 이때였습니다.)Windows 2000 이 배포되면서 마이크로소프트 사는 그 안에 IIS 5.0 과 ASP 3.0 을 포함하였습니다. 또한 IIS 5.0 은 Windows 2000 운영체제 안에 자연스럽게 통합 되었습니다. (그래서 Windows 2000 을 설치하셨다면 좀 더 편하게 ASP 를 공부하실 수가 있습니다.)

2. ASP 는 어디에 쓰이는 물건인가?

좋습니다. 이제 ASP 가 무엇인지는 조금 이해가 갈듯도 합니다. 그렇다면 도대체 이 ASP 를 가지고 무엇을 할 수가 있을까요? 여러분께서.. HTML 을 열심히(!) 공부하셔서 근사한 홈페이지를 만들었다고 가정하겠습니다. 메인 페이지에 이미지도 예쁘게 넣고, 배경 음악도 깔았습니다. (오옷~) 그것만으로는 심심할까봐 소개 페이지도 예쁘게 꾸몄습니다. 친구들에게 홈페이지 주소를 가르쳐 주고 두근 거리는 마음으로 반응을 기다립니다.. 그런데.. 친한 친구 한명이 전화를 해서 투덜대기 시작합니다.

"야! 무슨 홈페이지에 글 쓸만한 곳이 한개두 없냐? 방명록 없냐?" (두둥~~)

그렇습니다. 이 홈페이지는 방문한 사람들(클라이언트)이 단지 '보기만 할 수 있는' 홈페이지였던 것입니다. '이 홈페이지 너무 멋진데요' 라고 한마디 써주고 싶은데, HTML 로 만든 페이지에서는 아쉽게도 그것이 불가능한 것이지요.

ASP 의 필요성은 바로 여기서 나타납니다.

ASP 페이지에서는 방문한 사람들(클라이언트)에게 글을 입력받아서 그것을 저장소 - 이것을 '데이터베이스' 라고 합니다 - 에 차곡차곡 저장한 후에, 클라이언트들이 그 페이지를 보여달라고 요청할때 그 저장소(데이터베이스)에 저장되어 있는 내용을 꺼내와서 보여주게 됩니다. 그렇기 때문에 ASP 로 만든 페이지에서는 새로운(최근에 작성된) 글을 보는 것이 가능합니다.

이런 '게시판' 기능 뿐 아니라.. ASP 가 할 수 있는 일은 상당히 다양합니다. 다음이나 세이클럽 같은 사이트에 가서 여러분은 아이디와 비밀번호를 입력하고, 그것이 맞을 때에는 사이트 안으로 로그인 해서 들어갈 수가 있습니다. 이런 회원 인증을 담당하는 페이지 역시 ASP 로 작성 가능합니다.

뿐만 아니라 여러분들이 자신만의 클럽을 만드는 페이지, 여러분들께서 마음에 드는 물건을 주문하는 쇼핑몰 구매 페이지 등도 ASP 로 만들 수 있는 것입니다.

'도대체 이게 무슨 소리여..? ASP 로 뭘 할 수 있다는 말인지 전혀 모르겠구먼.. ㅜ.ㅜ'

이런 생각이 드는 분들이라 하더라도 자괴감 가지실 것 없습니다. 괜찮습니다. 설령 지금 이해가 가지 않으시더라도, 이제부터 차근차근 ASP 를 배워나가시다 보면 어디에 쓰이게 될지 자연스럽게 파악하실 수 있을테니까요. 잘 모르시겠다면 개그 콘서트 우비 삼남매 버전으로 '이것은 ASP. ASP 는 게시판 만들때 쓴다. 우아~~' 라고 살짝 외쳐주시고 넘어가셔도 좋겠습니다.

좋습니다. 오늘의 강좌는 여기까지 입니다. 오늘 배운 내용을 잘 기억하시고 다음 강좌에서 뵙도록 하겠습니다. 다음 강좌에서는 ASP 를 실행시키기 위한 환경 설정 방법에 대해서 알아보도록 하겠습니다


authored by


 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})