[문과 코린이의 IT 기록장] ASP Intro(기본적인 Web Browser - Web Server의 구조 , ASP가 추가된 Web Browser - Web Server의 구조 , html vs ASP , ASP 실행 방법 , 가상 디렉토리, 가상 디렉토리 내 ASP 파일 저장 및 실행 시켜보기)
[ ASP(Active Server Pages) Intro ]
- ASP는 Web을 프로그래밍 할 수 있도록, 서버에서 동작하는 페이지이며, 기존의 HTML과는 다르게 동적인 구성을 가질 수 있도록 돕는 역할을 한다.
1. 기본적인 Web Browser - Web Server의 구조
2. ASP 가 추가된, Web Browser - Web Server의 구조
사용자가 어떤 페이지를 요청한다면, 그 페이지를 html페이지로 한번에 서버가 보낼 수 없다.
서버 내에서 ASP를 해석하는 특정 처리를 한 후, 그 처리 결과를 html태그로 번역하여 형식을 바꾼 뒤, 만들어진 페이지를 새로 사용자의 브라우저에게 보낸다.
* ASP는 서버와 연동하는 작업이 가능한 페이지이다.
- 웹서버는 1. 웹 상에서 서비스를 하는 서버 컴퓨터 자체를 의미하기도, 2. 서버 컴퓨터가 웹 서버가 되게끔 해주는 프로그램을 의미하기도 한다.
- 프로그램쪽에서 웹서버의 종류는 굉장히 다양하게 존재하지만, 대표적으로 우리나라는 Apache, Microsoft IIS, Netscape Enterprise 등을 많이 사용한다. (그 중 IIS는 특히 ASP를 위해 만들어진 전용 웹서버이다.)
3. html vs ASP
- html페이지는 사용자가 다운받아 자신의 로컬 하드에 카피해놓으면, 언제라도 더블 클릭으로 브라우저에서 해석된 모습으로 확인 가능하다.
- 그러나 ASP는 웹서버를 항상 거쳐야 처리의 결과를 볼 수 있기 때문에, 로컬 하드에서 페이지를 더블클릭해 실행하고자 하면, 다운로드 화면 혹은 연결 에디터를 만나게 될 것이다.
4. ASP 실행 방법
- ASP페이지는 웹 서버가 인식할 수 있는 특별한 장소에 위치시켜야 한다.
- MS의 웹 서버는 기본적으로 모두 C:\inetput\wwwroot라는 폴더(홈 디렉토리)가 존재한다. 이 폴더 하위에 ASP 페이지를 위치시키면, 해당 ASP페이지에 접근할 수 있는 준비가 된 것이다.
* C:\inetput\wwwroot폴더 : 웹 서버의 디폴트 디렉토리 (웹 브라우저에 해당 ip주소를 입력하면 접근 가능)
* asp.dll : 웹서버에서 asp페이지를 해석하는 역할 담당
* IIS를 설치했다는 것은, 이 컴퓨터를 지금부터 웹서버로 사용할 수 있다는 것. 즉 인터넷에 연결되어 있고 IP주소를 알고 있다면, 제작한 웹 페이지(html, asp등)를 볼 수 있음
** 홈 디렉토리란? : IIS(인터넷 정보 서비스)의 시작 디렉토리이다. 예를 들어, IIS상에서 도메인(test.com)의 경로 (C:\IIS\web)바인딩을 했다면, 해당 홈 디렉토리의 index.html파일이 있다면 test.com/index.html을 입력하게 된다면, index.html 파일의 내용이 출력되게 된다.
* C:\inetpub\wwwroot폴더는 웹서버가 기본 저장소로 기억해놓은 장소이다. 따라서 http://[IP주소]/default.html 주소를 누군가 입력했다면, 해당 IP주소에 해당하는 컴퓨터에서 default.html파일을, C:\inetpub\wwwroot폴더(홈 디렉토리)에서 찾게 된다.
5. 가상 디렉토리
[ 홈 디렉토리의 문제 ]
- 하나의 서버에 한 개의 홈 디렉토리만 있다면, 하나의 서버로 한 사이트밖에 구성할 수 없다.
- 모든 ASP 페이지들이 wwwroot의 하위로 존재해야한다는 것은, 굉장히 제한적인 조건이며, 독립적이지 못하다.
ex. www.tistory.com이 이 우리 회사의 웹 서버 url이라고 할 때, 회사 내 사원들 각각에 대한 홈페이지 공간을 마련하고 싶다면 해결방법은 어떻게 해야 하는가
=> 이 문제는 가상 디렉토리를 통해 해결할 수 있다.
[ 가상 디렉토리 ]
: 하나의 웹 서버에 무한대로 만들 수 있다. (하드 공간에 여유만 있다면)
: 이는 마치 서브 디렉토리처럼 url을 생성할 수 있다. ex. www.tistory.com/vansoft1215
: 가상 디렉토리는 홈 디렉토리의 서브 디렉토리이기는 하지만, 이는 독립적인 서브 디렉토리이다. 즉 홈 디렉토리의 어떠한 간섭도 받지 않고 독립적인 하나의 사이트처럼 행동하는 디렉토리라는 것이다.
: 가상 디렉토리는 반드시 물리적인 위치가 C:\inetput\wwwroot 이하일 필요는 없다. 위치는 어디든 상관 없다.
* but 관리적 차원에서 wwwroot의 하위로 만드는 것이 좋은 편이다.
- 이곳에 있는 파일은 홈 디렉토리의 서브 디렉토리이거나, 가상 디렉토리일 것이라고 추측할 수 있을 것이기 때문이다.)
# 가상 디렉토리를 생성된 후,디렉토리 내 html 페이지 및 asp 페이지를 생성하면 www.server.com/taeyo/a.html와 와 같은 형식으로 접근할 수 있다.
* 참고자료
[ 가상 디렉토리 생성 방법 정리 ]
- 원하는 위치에 폴더를 생성한다.
- IIS에서 가상 디렉터리 추가 : 별칭 생성 후, 실제 경로 연결
- 해당 폴더 속성 : 파일 공유 O / 보안에 그룹또는 사용자 이름 Everyone 추가
=> 가상 디렉토리는 겉으로 보기에만 홈 디렉토리 내부에 있는 것 같을 뿐이고, 실제로는 다른 경로에 존재함. 따라서, 컴퓨터가 해킹 당했다 하더라도, 직접적으로 가상 디렉토리에는 접근할 수 없다.
=> 따라서 가상 디렉토리는 사람들이 많이 접근하기 쉬운 곳에는 만들지 않는 것이 좋다.
6. 가상 디렉토리 내, ASP 파일 저장 및 실행시켜보기
- wwwroot 하단에 Planner 파일 만든 후, 그 파일을 가상 디렉토리로 연결
- 해당 가상 디렉토리에 하단의 코드 파일 저장
<HTML>
<HEAD>
<title>HowAreYou.asp</title>
<meta charset="UTF-8">
</HEAD>
<BODY>
<P> </P>
<!-- ASP 코드 부분은, <% %> 내에 작성된다 -->
<% for i = 1 to 3 step 1 %>
하우 아 유?? ASP <br>
<% next %>
</BODY>
</HTML>
- 사용자인 내가, 클라이언트로서 서버에게 해당 asp 페이지를 요청하면, 이 페이지는 서버의 ASP.DLL을 거쳐 실행된 후, 다시 클라이언트로 결과를 산출해준다. 이때 클라이언트가 확인하는 것은 ASP 페이지가 아닌 html 페이지로 변환된 결과이다.
<html>
<head>
<title>HowAreYou.asp</title>
<meta charset="UTF-8">
</head>
<body>
<p> </p>
하우 아 유?? ASP <br>
하우 아 유?? ASP <br>
하우 아 유?? ASP <br>
</body>
</html>
- 결국, 결과를 받아본 사용자(클라이언트)들은 원래의 ASP가 어떤 식으로 코딩되어 있는지를 확인할 수 없다. 사용자가 보는 결과페이지는, IIS 서버 내에서 해석이 끝나, html코드로 모두 해석되어진 결과 페이지기 때문이다.
[ ASP 코드 작성 방법 ]
- ASP 코드는 항상 <%로 시작해서 %>로 끝나야 한다.
- ASP 코드는 html 내에 어디든 작성 가능하다.
[ ASP for문의 기본적 구성 ]
for A to B step C // A부터 B까지 C씩 증가하며 반복해라 (한번 실행한 다음 증가시킴)
...
next
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |